Effacer les filtres
Effacer les filtres

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

76 vues (au cours des 30 derniers jours)
Mariem Harmassi
Mariem Harmassi le 8 Mar 2013
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.

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 8 Mar 2013
Modifié(e) : Azzi Abdelmalek le 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 commentaires
Mariem Harmassi
Mariem Harmassi le 8 Mar 2013
yes i tried uint8 it was just an error
Azzi Abdelmalek
Azzi Abdelmalek le 8 Mar 2013
Modifié(e) : Azzi Abdelmalek le 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))

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 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 commentaires
Juan Manuel Miguel
Juan Manuel Miguel le 6 Août 2020
Thank you, it was perfect for me!!
Bruno Aravena Pérez
Bruno Aravena Pérez le 29 Avr 2022
Thanks!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Image Processing and Computer Vision dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by