How to assign Pixel values to the entire images?

2 visualizaciones (últimos 30 días)
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 comentario
Jan
Jan el 16 de En. de 2013
The question is not clear. What does "giving to the image" mean?

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 16 de En. de 2013
a=min(A(:));
b=max(A(:));
B=(A-a)/(b-a);
  5 comentarios
Matt J
Matt J el 16 de En. de 2013
Editada: Matt J el 16 de En. de 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
Mohan Prasath Thirumalaisamy el 16 de En. de 2013
hi really thanks for your idea.

Iniciar sesión para comentar.

Más respuestas (1)

Jurgen
Jurgen el 16 de En. de 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])

Categorías

Más información sobre Image Processing and Computer Vision en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by