MATLAB Answers

Akshit
1

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

Asked by Akshit
on 23 Jan 2015
Latest activity Answered by Image Analyst
on 23 Jan 2015
how can i display a gray scale image instead of mapping 0,255 , between 0 , 127 ?

  0 Comments

Sign in to comment.

3 Answers

Answer by Chad Greene
on 23 Jan 2015

caxis([0 127])

  1 Comment

thankd , i did ,but got this error. Error in caxis ????? arg = 0;

Sign in to comment.


Answer by Shoaibur Rahman on 23 Jan 2015

NewImage = 127*mat2gray(Image)

  0 Comments

Sign in to comment.


Answer by Image Analyst
on 23 Jan 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.

  0 Comments

Sign in to comment.