How to mark image with respect to given logical mask?

조회 수: 3 (최근 30일)
Himanshu Meena
Himanshu Meena 2020년 10월 18일
댓글: Ameer Hamza 2020년 10월 18일
I've an image and a logical mask produced from same image. I wish to mark all the pixels on original image with respect to the pixels which are 1 in logical mask. This was my solution:
%'img' is original image. 'Icornr' is the logical mask. 'Ioverlay is the image I wish to output.
Ioverlay = imoverlay(img, Icornr, [1 0 1]);
imshow(Ioverlay);
axis equal tight on;
title('Harris Corner overlayed on Original');
colorbar;
This is the output I get where ROI are marked with magneta. What I wish to accomplish is to rather than marking the pixels with . they should be marked with + or x. An example of such is given below:

채택된 답변

Ameer Hamza
Ameer Hamza 2020년 10월 18일
Try something like this
img = imread('pears.png');
Icornr = rand(size(img, [1 2])) > 0.995; % example mask
figure();
ax1 = axes();
Ioverlay = imoverlay(img, Icornr, [1 0 1]);
imshow(Ioverlay, 'Parent', ax1);
axis equal tight on;
title('Harris Corner overlayed on Original');
colorbar;
figure();
ax2 = axes();
hold on
[r, c] = find(Icornr);
imshow(img, 'Parent', ax2);
plot(ax2, c, r, '+');
axis equal tight on;
title('Harris Corner overlayed on Original');
colorbar;
  댓글 수: 2
Himanshu Meena
Himanshu Meena 2020년 10월 18일
Yes, The second output is exactly what I was looking for.
Ameer Hamza
Ameer Hamza 2020년 10월 18일
I am glad to be of help!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by