how to convert the pixel values of the image in the range of (0-255) into (0-1)?

4 visualizaciones (últimos 30 días)
Hi i have to convert the image pixel values in the range of (0-255) into (0-1) Is there any function or program available?

Respuestas (3)

Azzi Abdelmalek
Azzi Abdelmalek el 28 de Feb. de 2013
Editada: Azzi Abdelmalek el 28 de Feb. de 2013
im1=imread('yourfile');
b=linspace(0,1,255);
im2=arrayfun(@(x) b(x+1),im1)
  4 comentarios
Jan
Jan el 28 de Feb. de 2013
Surprising. Then I'd suggest:
im2 = reshape(b(im1(:) + 1), size(im1));
But this looks less attractive, of course. Anyway, it is still faster.
Azzi Abdelmalek
Azzi Abdelmalek el 28 de Feb. de 2013
Editada: Azzi Abdelmalek el 28 de Feb. de 2013
Surprising. You are right, I messed up, in fact I've tried b(im) instead of b(im+1), did not even read the error message, thinking it was caused by the matrix dimension. im contains 0 that causes the error. b(im1) worked for a tif image that does not contains a 0

Iniciar sesión para comentar.


Jan
Jan el 28 de Feb. de 2013
Editada: Jan el 28 de Feb. de 2013
imageUINT8 = randi([0, 255], 640, 480);
imageDOUBLE = image / 255;
See also im2double.

Image Analyst
Image Analyst el 28 de Feb. de 2013
Yes, there is a built-in function. It is called mat2gray().
normalizedImage = mat2gray(grayLevelImage);

Community Treasure Hunt

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

Start Hunting!

Translated by