How to assign Pixel values to the entire images?

2 views (last 30 days)
Hi, I have set of images and then i need to make those images into 32*32. I did this by using imresize. Now i have 32*32 pixel image, then i need to image pixel value between 0 and 1. I know that i can use rand(32, 32) to have values between 0 and 1. how i can give it to the image?
  1 Comment
Jan
Jan on 16 Jan 2013
The question is not clear. What does "giving to the image" mean?

Sign in to comment.

Accepted Answer

Matt J
Matt J on 16 Jan 2013
a=min(A(:));
b=max(A(:));
B=(A-a)/(b-a);
  5 Comments
Matt J
Matt J on 16 Jan 2013
Edited: Matt J on 16 Jan 2013
It also assumes that max(A(:))=255 which need not be the case. But the kind of normalization asked for here is still not clear (the image could be the first in a series ranging from 0 to 255 for example). So, it could be valid...

Sign in to comment.

More Answers (1)

Jurgen
Jurgen on 16 Jan 2013
Not 100% sure what format your images are, but try this:
If A is your 32x32 image, then
A = mat2gray(A)
will scale it to 0-1. Alternatively, if you want to keep relative intensities: use
A = im2double(A).
If your image contains real values in a larger range (that contains the 0-1 subrange), and you only want to show the pixels in that 0-1 range: (and clip others at black or white)
A = mat2gray(A,[0 1])

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!