Matlab - 将感兴趣的区域绘制到图像上

时间:2017-03-28 14:26:51

标签: matlab plot

我正在开发一个应用程序,我正处于一个阶段,我正在比较两个图像,看看它们是否有任何相似之处。我设法做到了这一点,你可以找到一个例子here

从图像中,它将为给定的两个图像显示接近相同像素的空白区域。我接下来要做的是获取白色空间的坐标并将它们绘制到original image上以突出显示有关硬币的最强特征。但是,我不确定如何做到这一点,因为我对Matlab很新。

firstImage = sprintf('M:/Project/MatLab/Coin Image Processing/Image Processing/test-1.jpg');
secondImage = sprintf('M:/Project/MatLab/Coin Image Processing/Image Processing/test-99.jpg');

a = rgb2gray(imread(firstImage));
b = rgb2gray(imread(secondImage));

axes(handles.axes4);
imshow(a==b);
title('Scanning For Strongest Features', 'fontweight', 'bold')

使用disp(a==b),我可以看到两张图片的哪些点是相同的。所以我的猜测是我需要做一些事情,我得到所有零的坐标,然后以突出它的方式将它们绘制到原始图像上,类似于使用黄色荧光笔,但我只是不知道如何。

2 个答案:

答案 0 :(得分:2)

如果我收到您的问题,我认为您应该使用var password = document.getElementById('password'); password.addEventListener('blur',checkPass); var eMsg = document.getElementById('feedback'); var minLength = 6; function checkPass () { if (password.value.length < minLength ) { eMsg.innerHTML = 'Password must have' + minLength + 'characters or more'; } else if(/[!@$%&#]/.test(password.value)){ eMsg.innerHTML = 'Your password is secure'; } }来收集<html> <head> <title> Password Secured </title> <link rel="stylesheet" href="style.css"> </head> <body> <h1 class="logo"> logo</h1> <br></br> <br></br> <p class="input">Please type your password: <br></br> <input type="text" id="password"/> <div id="feedback"></div> </p> <br></br> <p class="answer"></p> <br></br> <br></br> <p class="tips"> <br></br>Tips tips tips </p> </body>的所有坐标:

find

答案 1 :(得分:1)

您可以使用透明覆盖图来绘制感兴趣的区域。

figure
imshow(originalImage); % plot the original image
hold on
% generate a red overlay
overlay(:, :, 1) = ones(size(a)); % red channel
overlay(:, :, 2) = zeros(size(a)); % green channel
overlay(:, :, 3) = zeros(size(a)); % blue channel
h = imshow(overlay); %  plot the overlay
set(h, 'AlphaData', (a == b) * 0.5); % set the transparency to 50% if a == b and 0% otherwise