主成分分析を使って画​像の重心を通る第1主​成分軸をプロットする​にはどうすればよいで​しょうか?

歪んだ楕円のような2値画像の重心を通る最大長の軸を得るために主成分分析を行っています.
始めに2値画像の白(=1のピクセル)のx座標をdata(:,1),y座標をdata(:,2)に記録しました.
主成分分析で,因子負荷量と主成分スコアを求めたいのですが,ここからがわかりません. ご教示いただければと存じます.

 Akzeptierte Antwort

michio
michio am 24 Nov. 2017

1 Stimme

画像に対しての主成分分析は興味深いですね。pca という関数を使うことになるとは思いますが、
のサンプルコード:「主成分の係数、スコア、分散」が参考になるでしょうか?

1 Kommentar

Yumi Iwakami
Yumi Iwakami am 29 Nov. 2017
ありがとうございます.座標系のせいなのか,どうしてもずれて出てくるので,処理を見直します.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Takuji Fukumoto
Takuji Fukumoto am 24 Nov. 2017

1 Stimme

pcaの利用が必須、もしくは複雑な形状であればいろいろ考える必要がありそうですが、
最大長軸が明確に見えているなら、 image Processing Toolboxにある画像解析用の関数regionpropsで 'MajorAxisLength'を読めば1行で計測が可能です。
% 楕円画像を準備
BW = imbinarize(zeros(200));
BW(100,85:115) = 1;
se = strel('disk',40,8);
BW = imdilate(BW,se);
% 画像を回転して表示
BW = imrotate(BW,45);
figure, imshow(BW)
%%2値化画像解析用の関数を使って長軸の長さと回転を測定
stats = regionprops('table',BW,'MajorAxisLength','Orientation')

1 Kommentar

Yumi Iwakami
Yumi Iwakami am 29 Nov. 2017
ありがとうございます.楕円が1つの場合はregionpropsで求まるのですが,複雑な形になると難しいようで,PCAを使う方法を考えたのですが,なかなかうまくいきませんでした.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!