次の画像が示すように、画像に連結成分があるとします: imagehttp: //dl.dropbox.com/u/92688392/ellipse.jpg。
私の質問は、連結成分の境界楕円(画像の赤い楕円)をどのように計算できるかです。私はMATLAB関数regionpropsをチェックし、MATLABがそれを行う方法を理解しました。また、OpencvにはCBlob :: GetEllipse()と同様の関数があることにも気づきました。しかし、コードを読んでどのように結果が得られるかは理解できますが、その背後にある基本的な理論はまだはっきりしていません。したがって、私はその仕事をするためのいくつかの標準的なアルゴリズムがあるかどうか疑問に思っています。ありがとう!
編集:
コメントに基づいて、私は私の質問を再編成しました:画像の瞬間ウィキペディアでは、最長軸角度の計算式は次のとおりです。
ただし、MATLAB関数regionpropsでは、コードは次のとおりです。
% Calculate orientation.
if (uyy > uxx)
num = uyy - uxx + sqrt((uyy - uxx)^2 + 4*uxy^2);
den = 2*uxy;
else
num = 2*uxy;
den = uxx - uyy + sqrt((uxx - uyy)^2 + 4*uxy^2);
end
この実装は、ウィキペディアの式と矛盾しています。どちらが正しいのか気になりました。