質問: 主成分分析を使って画像の重心を通る第1主成分軸をプロットするにはどうすればよいでしょうか? 歪んだ楕円のような2値画像の重心を通る最大長の軸を得るために主成分分析を行っています. 始めに2値画像の白(=1のピクセル)のx座標をdata(:,1),y座標をdata(:,2)に記録しました. 主成分分析で,因子負荷量と主成分スコアを求めたいのですが,ここからがわかりません. ご教示いただければと存じます.
回答: 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')