編集:たとえば、(matlab ドキュメントから) Plot MSER regions プロパティを使用して、必要なポイントを取得できます。
regions = detectMSERFeatures(I);
imshow(I);hold on;
plot(regions);
MSER 領域のプロット
figure; imshow(I);hold on;
plot(regions,'showPixelList',true, 'showEllipses',false);
hold off;
元の答え:
REGIONS は、重心 (X0、Y0)、方向角 (phi)、短軸と長軸(またはその半分: 楕円の a、b パラメーター) に関する情報を提供します。
Centroid : MSER 領域と同じ 2 次モーメントを持つ楕円の [xy] 重心座標の M 行 2 列の配列。
Axes : 2 要素ベクトル [majorAxis minorAxis]。このベクトルは、MSER 領域と同じ 2 次モーメントを持つ楕円の長軸と短軸を指定します。
Orientation : -pi/2 から +pi/2 ラジアンの範囲の値。この値は、X 軸から楕円の長軸までを測定した楕円の方向を表します。
格納された領域 (または COUNT プロパティ) ごとに、以下のコードを使用してループできます。
楕円の輪郭を描くには、次のコードを使用できます。
% These are just values to play with
a=10;
b=20;
phi=0.5236;
X0=40;
Y0=50;
R = [ cos(phi) sin(phi); -sin(phi) cos(phi) ];
theta_r = linspace(0,2*pi);
ellipse_x_r = X0 + a*cos( theta_r );
ellipse_y_r = Y0 + b*sin( theta_r );
rotated_ellipse = R * [ellipse_x_r;ellipse_y_r];
plot( rotated_ellipse(1,:),rotated_ellipse(2,:),'b' );