我有一个具有任意区域形状的图像(比如对象),我们假设背景像素标记为零,而任何对象都有唯一标签(对象1的像素标记为1,对象2像素标记为2, ...)。现在,对于每个对象,我需要找到其像素的最佳椭圆拟合。这需要找到物体的中心,长轴和短轴以及旋转角度。我怎样才能找到这些?
谢谢;
答案 0 :(得分:1)
主成分分析(PCA)是一种可行的方法。 See Wikipedia here
质心很容易找到你的形状是否凸起 - 只是xy位置上的强度的加权平均值 - 而PCA会给你主轴和短轴,因此定位。
一旦你拥有了中心和轴,就可以得到一组覆盖你形状的椭圆。扩展轴 - 按比例 - 并测试每个像素的输入/输出,您可以找到 覆盖您的形状的椭圆。或者如果您愿意,可以将每个像素位置投影到长轴和短轴上,并在一次通过中找到粗略限制,然后在“角落”情况下进行测试。
如果您发布示例图片,可能会有所帮助。
答案 1 :(得分:1)
正如您似乎使用Matlab一样,只要您拥有图像处理工具箱,就可以使用regionprops
命令。
它可以提取您需要的所有信息(以及图像区域的更多属性),如果基于PCA的方法适合您的需要,它将为您完成PCA。
文档为here,请专门查找'Centroid'
,'Orientation'
,'MajorAxisLength'
和'MinorAxisLength'
参数。