Borrar filtros
Borrar filtros

how can i display a gray scale image instead of mapping 0,255 , between 0 , 127 ?

2 visualizaciones (últimos 30 días)
how can i display a gray scale image instead of mapping 0,255 , between 0 , 127 ?

Respuestas (3)

Chad Greene
Chad Greene el 23 de En. de 2015
caxis([0 127])

Shoaibur Rahman
Shoaibur Rahman el 23 de En. de 2015
NewImage = 127*mat2gray(Image)

Image Analyst
Image Analyst el 23 de En. de 2015
This is an ambiguous question. What is the initial range of your image? Do you want to change that? Or just change how it's displayed? One way is
imshow(grayImage, [0, 127]); % Values more than 127 will get clipped to 127.
or
imshow(uint8(127 * mat2gray(grayImage)));
The last line of code will scale the image range [min, max] to [0,1]. Then it multiplies by 127 and converts to uint8 so it will display properly in the [0,255] range. I believe Shoibur's code will display as all white because newImage will be a double and imshow expects doubles to be in the range 0-1 and anything above 1 will get clipped. So that's why I converted to uint8, which uses a [0,255] display range by default.

Categorías

Más información sobre Modify Image Colors en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by