私はそれは私が使用していると私はそれを理解したいコードの部分でのコードのこの行は画像操作コード(コーナー検出)
corners = (m==n)&(n>threshold);
の作品正確にどのように知っているように思います。基本的に、mとnは両方とも等しいサイズの画像であり、「しきい値」は小数値です。
コンテキストを理解するには、コードのセグメントを以下に示します。
% 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;
ので、それを破壊する、 M == N チェックが真の場合は1をマーキング、すべてのスロットm(:, :)およびN(:,配列で:)でnに等価ためmです。そして、これはmに対するnの定義なので、極大値でのみ起こります。 次に、同等の値がしきい値よりも大きいかどうかを確認し、それでも同じ場合は、1をコーナーに戻します。 上記は正しいですか?コーナーの寸法に関して、MATLABは自動的にmとnの両方の寸法を自動的に与えます。 mとnが異なる値をとった場合はどうなりますか?私はその陳述が無効になると思っていますか? – mathjacks
私が正しく理解していれば、説明は正しいです。プログラムは最初の行でmを計算し、2番目の行でnを計算します。外側のパラメータは半径(ローカルエリアのサイズ)としきい値です(多かれ少なかれ - 偽陽性と偽陰性の間の嗜好レベル)。 – Ofir