hello I have a code that turns my image of black and white in color but I am stuck at the level of color segment I want the red part to be black
(attached image)
function [ ] = imageLabels(image)
figure,imagesc(image)
colormap(hsv)
axis image;
hold on;
for K = 1 : 4; hidden_h(K) = surf(uint8(K-[1 1;1 1]), 'edgecolor', 'none'); end
hold off
uistack(hidden_h, 'bottom');
legend(hidden_h, {'tree','rock','water'} )
axis off;
end

9 comentarios

Jan
Jan el 22 de En. de 2019
What is "black an blan"? What is a "level of color segment"? You want "the red part to be black". I do not see any command in the attached code, which cares about anything on red. So what is "the red part"?
dakhli mohamed
dakhli mohamed el 22 de En. de 2019
my starting image is black and white after code execution i want the white part to turn green and the black part to remain black instead of to be colored on red
Jan
Jan el 22 de En. de 2019
What does "black and white" exactly mean: Is it a LOGICAL array, or a double array containing 0 and 1 only. Or does "black and white" mean gray scale? Or is it a 3D RGB array, which contains [0,0,0] and [1,1,1] only? Or an indexed image?
It would be much easier to work with RGB arrays instead of using a HSV colormap.
This means: I do not understand the question yet. Converting a grey scale image to an RGB image with white getting green is very easy. But to post working code, the type of the inputs must be clear.
dakhli mohamed
dakhli mohamed el 22 de En. de 2019
it's a satellite image( attached) it's black and white I want the part on white is green, it's simply
Jan
Jan el 23 de En. de 2019
I cannot open your MAT file, because I do not access to Matlab currently. It would be really simple, if you post the class, the size and the range of the array.
dakhli mohamed
dakhli mohamed el 23 de En. de 2019
2 class
190 * 190 table size
the values between 0 and 1
Jan
Jan el 24 de En. de 2019
Editada: Jan el 24 de En. de 2019
You can get the class of a variable by using
class(v)
This will be singlem double, uint8 etc.
The term "table" might be confusing: Is this a table object?
Stephen23
Stephen23 el 24 de En. de 2019
Editada: Stephen23 el 24 de En. de 2019
190x190 double, inappropriately named ans, and with values ranging from 0 to 1.
Guillaume
Guillaume el 24 de En. de 2019
Judging by the files and variable names, I would think the question is related to 441221-fusion-of-satellite-images

Iniciar sesión para comentar.

 Respuesta aceptada

Guillaume
Guillaume el 24 de En. de 2019

0 votos

Possibly, this will do what you want:
matcontent = load('C1fig.mat'); %load ans variable (bad name!) as matcontent.ans
greyimage = matcontent.ans; %the grey image as a 2D matrix in the range 0-1
greenimage = cat(3, zeros(size(greyimage)), greyimage, zeros(size(greyimage))); %make the greyimage the 2nd channel of a RGB image
imshow(greenimage);

Más respuestas (0)

Categorías

Preguntada:

el 22 de En. de 2019

Comentada:

el 24 de En. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by