how to plot an image and a logical matrix on same plot

4 visualizaciones (últimos 30 días)
Idan Golcmn
Idan Golcmn el 3 de Abr. de 2020
Comentada: darova el 4 de Abr. de 2020
Hi,
I have an image in a matrix (uint 16) and a matrix that contain the border of a mask that i have done to the image. i want to plot the image and the mask together, so i can plot them together and see them both.
the two images are in the attached file.
when im plotting them together, i only see one of the pictures (using hold on). The problem is that the logical matrix is max 1 and the image matrix getting different values grater than 1 so i dont see it. I want it ti be like a line in different color on the image that represent real data.
edit: i added another image (this time Matlab image) that contains 4 images. I want print every two images (from the same row) together in a way that will be able to see the avarage frame and the mask bounderi that was created by my function.
thanks in advance.
  2 comentarios
Ameer Hamza
Ameer Hamza el 3 de Abr. de 2020
I guess you don't need to plot the mask as an image. You can use plot() function to draw the boundary. Can you attach the image and the mask in a mat file so that it will be easy to suggest a solution?
Idan Golcmn
Idan Golcmn el 4 de Abr. de 2020
Editada: Idan Golcmn el 4 de Abr. de 2020
Hi ameer.
you right i can print in any format it dotesnt metter. i hava upload the images in the question (the attatched file).
i'm not really sure what images do you need and at which format. i can upload everything to solve the problem.
edit: i have add another image, hope you will find it useful.
thanks.

Iniciar sesión para comentar.

Respuestas (1)

darova
darova el 3 de Abr. de 2020
Try this
ind = mask > 0.8;
img(ind) = max(img(:));
imshow(img)
  2 comentarios
Idan Golcmn
Idan Golcmn el 4 de Abr. de 2020
Editada: Idan Golcmn el 4 de Abr. de 2020
Hi darova.
the error is: "Undefined function 'imgshow' for input arguments of type 'uint16'"
My mask matrix is a matrix of zeros and ones. im taking just the border of the mask that i have calculated, and (logiacal matrix).
i have a good image that i'm printing, now i just need to add the bounderis of the mask in a way that one can see the bounderies and the image that represents the avarage of the data (frames) that i have.
edit: i add another image, hope you will find it useful.
thanks.
darova
darova el 4 de Abr. de 2020
What about this
I0 = imread('pic2.png');
mask0 = imread('pic1.png');
thr = graythresh(mask0)-0.1;
mask1 = im2bw(mask0,thr); % convert to logical
mask1 = repmat(mask1,[1 1 3]); % create 3D matrix
I1 = I0;
I1(mask1) = 255; % fill border pixels with 255 (white)
imshow(I1)

Iniciar sesión para comentar.

Productos


Versión

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by