我正在尝试使用pca
函数来查找二进制图像中最长的形状轴。这些是2D图像,所以我只期待两个主要组件。如果我将pca
应用于图像本身,我会得到很多组件。
我对此的看法是pca
作用于的矩阵被处理为行是观察而列是变量,所以我需要将我的图像转换为非y的x,y坐标列表零像素。这是什么功能?尝试使用find
,这是我到目前为止所做的:
for k=1:cellnum %for each cell...
[nucleus, nucnum] = bwlabel(B5.*(cell==k)); %label nuclei in cell (Thanks @CapeCode)
if nucnum == 1
% other methods
[row, col] = find(nucleus);
[coeff, ~, eigen] = pca([row, col]);
disp (coeff);
end
我得到每个核的两对系数,如下所示:
0.8327 0.5537
-0.5537 0.8327
0.9791 0.2036
-0.2036 0.9791
0.8546 0.5193
-0.5193 0.8546
所以...我实际上在做我认为我正在做的事情吗?
谢谢,
奥利
编辑:链接到我之前关于识别重叠对象的问题,以及Cape Code优雅的单行解决方案 - Matlab - Identifying objects in one image that overlap objects in another