How to assign Pixel values to the entire images?

1 Ansicht (letzte 30 Tage)
Mohan Prasath Thirumalaisamy
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 Kommentar
Jan
Jan am 16 Jan. 2013
The question is not clear. What does "giving to the image" mean?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 16 Jan. 2013
a=min(A(:));
b=max(A(:));
B=(A-a)/(b-a);
  5 Kommentare
Matt J
Matt J am 16 Jan. 2013
Bearbeitet: Matt J am 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...
Mohan Prasath Thirumalaisamy
hi really thanks for your idea.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jurgen
Jurgen am 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])

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by