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

85 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.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!