主成分分析を使って画像の重心を通る第1主成分軸をプロットするにはどうすればよいでしょうか?
8 views (last 30 days)
Show older comments
歪んだ楕円のような2値画像の重心を通る最大長の軸を得るために主成分分析を行っています.
始めに2値画像の白(=1のピクセル)のx座標をdata(:,1),y座標をdata(:,2)に記録しました.
主成分分析で,因子負荷量と主成分スコアを求めたいのですが,ここからがわかりません. ご教示いただければと存じます.
0 Comments
Accepted Answer
michio
on 24 Nov 2017
画像に対しての主成分分析は興味深いですね。pca という関数を使うことになるとは思いますが、
のサンプルコード:「主成分の係数、スコア、分散」が参考になるでしょうか?
More Answers (1)
Takuji Fukumoto
on 24 Nov 2017
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')
See Also
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!