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

4 ビュー (過去 30 日間)
Idan Golcmn
Idan Golcmn 2020 年 4 月 3 日
コメント済み: darova 2020 年 4 月 4 日
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 件のコメント
Ameer Hamza
Ameer Hamza 2020 年 4 月 3 日
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 2020 年 4 月 4 日
編集済み: Idan Golcmn 2020 年 4 月 4 日
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.

サインインしてコメントする。

回答 (1 件)

darova
darova 2020 年 4 月 3 日
Try this
ind = mask > 0.8;
img(ind) = max(img(:));
imshow(img)
  2 件のコメント
Idan Golcmn
Idan Golcmn 2020 年 4 月 4 日
編集済み: Idan Golcmn 2020 年 4 月 4 日
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 2020 年 4 月 4 日
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)

サインインしてコメントする。

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by