【发布时间】:2015-10-14 07:53:04
【问题描述】:
面积积分不变量是一种用于图像处理的签名。有人知道AII的计算算法吗?
即我想计算一个边界和相交的圆包围的面积...
边界不是带有方程的曲线,而是来自任意轮廓。下图只是示意图。真正的边界可能要复杂得多,封闭区域位于边界的各个位置,即顶部、底部、左侧......
The red area。我正在使用 MATLAB,图像主要是二进制图像。
【问题讨论】:
面积积分不变量是一种用于图像处理的签名。有人知道AII的计算算法吗?
即我想计算一个边界和相交的圆包围的面积...
边界不是带有方程的曲线,而是来自任意轮廓。下图只是示意图。真正的边界可能要复杂得多,封闭区域位于边界的各个位置,即顶部、底部、左侧......
The red area。我正在使用 MATLAB,图像主要是二进制图像。
【问题讨论】:
如果你知道圆和线的方程,那么如果你在图像中这样做,那就很容易了。
选择圆内的像素(通过圆的方程轻松完成)。如果您需要将 AII 计算为比率,请计算您拥有的像素。
分隔线上方和下方的像素。如果您知道线的方程式或每列中线的值,则可以轻松完成此操作。逐列并丢弃高于该行值的像素。计算结果。
就是这样!如果你想要没有比率的 AII,那么 2 中的像素数就是结果。如果你想要它作为一个比率,将 2 的像素数除以 1 的像素数。
【讨论】:
如果您只有图像而没有方程式,您仍然可以通过在您要计算的区域中给算法一个像素来选择您想要的所有像素,然后反复检查所有邻居并将它们添加到您的区域,如果他们是白色的。完成后,只需计算您拥有的像素。结果在某种意义上就是你想要的区域。
【讨论】:
xor(originalImage,imfilledImage) 选择区域。确保将二进制图像显式转换为逻辑图像。我没有看到任何其他(更快)的可能性。
imfill时记得指定正确的连接。