how to convert a double matrix image to a unit8 matrix ?

15 views (last 30 days)
Hi everybody :) I have an image ,a matrix with values between -0.0934 and 0 and i want to convert it to unit8 matrix with values between 0 ans 255.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 8 Mar 2013
Edited: Azzi Abdelmalek on 8 Mar 2013
A=imread('yourimage')
B=uint8(A)
EDIT
d=linspace(min(im(:)),max(im(:)),256)
im1=uint8(arrayfun(@(x) find(abs(d(:)-x)==min(abs(d(:)-x))),im))
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 8 Mar 2013
Edited: Azzi Abdelmalek on 8 Mar 2013
Try this
%If im is your image
d=linspace(min(im(:)),max(im(:)),256)
im1=uint8(arrayfun(@(x) find(abs(d(:)-x)==min(abs(d(:)-x))),im))

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 8 Mar 2013
You can use the mat2gray() function:
image8Bit = uint8(255 * mat2gray(floatingPointImage));
It will scale your values to the range 0-255.
  10 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!