我想知道这行代码是如何工作的
corners = (m==n)&(n>threshold);
这是我正在使用的一段代码,我想了解它。基本上,m和n都是相等大小的图像,“threshold”是十进制值。
要理解上下文,下面是一段代码。
% compute the m cornerness measure
m = (ix2s.*iy2s - ixys.^2) - 0.04*(ix2s+iy2s).^2;
% perform non-maximal suppression using ordfilt2
n = ordfilt2(m, radius^2, ones([radius radius]));
% display corner spots
corners = (m==n)&(n>threshold);
% superimpose corners
Q = corners+im;
Q(Q>1) = 1;
C = repmat(im,[1 1 3]);
C(:,:,1) = Q;
答案 0 :(得分:3)
如果我理解正确,n是附近的m的最大值(“拐角度量”),因此该线意味着 - “如果m是局部最大值并且足够大(大于阈值),那么这可能是角落“,它可以说是更具可读性:
corners = (m==n)&(m>threshold);
答案 1 :(得分:1)