double matrix to image conversion
Mostrar comentarios más antiguos
i have a double matrix i have to convert it to an image
Respuestas (2)
Cris LaPierre
el 31 de En. de 2020
0 votos
How are you trying to view the image?
I suspect you need to use uint8 to first convert your doubles to a value between 0 and 255. See here.
1 comentario
BHANU SRINIVASA
el 1 de Feb. de 2020
Subhadeep Koley
el 1 de Feb. de 2020
Hi, try the code below
% Rescale your matrix in 0-255 range
rescaledMatrix = rescale(yourDoubleMatrix, 0, 255);
% Typecasted to uint8
rescaledMatrix = uint8(rescaledMatrix);
% Display your image
figure; imshow(rescaledMatrix, []);
This might help!
8 comentarios
BHANU SRINIVASA
el 1 de Feb. de 2020
Subhadeep Koley
el 1 de Feb. de 2020
Can you provide your double matrix as a MAT file? So that I can check the same.
You can generate the MAT file with the following command.
save('yourDoubleMatrix.mat','yourDoubleMatrix');
BHANU SRINIVASA
el 1 de Feb. de 2020
Subhadeep Koley
el 1 de Feb. de 2020
Yes, it is expected that you will get an image which looks like grayscale because, when I plot a 3D scatter plot on the R, G, and B channel of your matrix "q", it produce a linear trend of the Red-Green-Blue channel, indicating a high correlation among them.

This means pixel values in the R, G, and B channels are almost the same.
This is the reason why your image appears grayscale, even if it is a matrix of dimension 187x269x3.
BHANU SRINIVASA
el 1 de Feb. de 2020
BHANU SRINIVASA
el 1 de Feb. de 2020
Subhadeep Koley
el 1 de Feb. de 2020
The "q" is generated from "c1" by your algorithm only. Therefore it is not possible for me to comment on how this can be solved.
The code for the 3D scatter plot is below.
close all; clear all;
load q.mat;
r = q(:,:,1);
g = q(:,:,2);
b = q(:,:,3);
plot3(r(:),g(:),b(:),'.');
grid on; box on;
xlabel('Red Channel');
ylabel('Green Channel');
zlabel('Blue Channel');
title('Scatterplot of the Visible Bands');
BHANU SRINIVASA
el 1 de Feb. de 2020
Categorías
Más información sobre Image Arithmetic en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
