如何在MATLAB中使用MSE方法检测图像中的形状?

时间:2017-05-25 10:18:00

标签: image matlab image-processing

这是我的代码:

function Score=ScoreFindPicture_SSE_loop(I,P)
D=double(~(P==2));
P_new=P*255;
[rP, cP]=size(P);
[rI ,cI]=size(I);
ScoreMin=zeros;
for i=1:(rI-rP+1)
    for j=1:(cI-cP+1)
       E=(I(i:i+rP-1,j:j+cP-1)-P_new).*D;
       SE=E.*E;
       SSE_I=sum(sum(SE));
       ScoreMin(i,j)=SSE_I;
   end
end
Score=1./ScoreMin;
end

" I"是图像的双重格式矩阵," P"是我在图像上搜索的特殊形状的矩阵, 这个函数运行正常,但速度很慢,我会编写这个函数而没有循环来加速,我认为两个嵌套的二维卷积可能有效,但我无法弄清楚如何实现它,任何帮助将不胜感激。

形状如下(D显示"不关心"):The shape

The image

0 个答案:

没有答案