How to assign Pixel values to the entire images?

1 次查看(过去 30 天)
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?

采纳的回答

Matt J
Matt J 2013-1-16
a=min(A(:));
b=max(A(:));
B=(A-a)/(b-a);
  5 个评论
Matt J
Matt J 2013-1-16
编辑:Matt J 2013-1-16
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...

请先登录,再进行评论。

更多回答(1 个)

Jurgen
Jurgen 2013-1-16
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])

类别

Help CenterFile Exchange 中查找有关 Image Processing and Computer Vision 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by