我有一个由二进制掩码定义的任意形状(灰色 = 形状,黑色 = 背景)。
我想找到一个仅包含灰色像素的最大可能矩形(这样的矩形以黄色显示):
形状始终是“一体的”,但不一定是凸的(并非形状边界上的所有点对都可以通过穿过该形状的直线连接)。
有时存在许多这样的“最大矩形”,然后可以引入进一步的约束,例如:
- 取中心最接近形状的质心(或图像中心)的矩形
- 取长宽比最接近预定义比例(即 4:3)的矩形
我对算法的第一个想法如下:
- 计算形状的距离变换并找到它的质心
- 增加正方形区域,而它只包含形状的像素
- 在仅包含形状像素的情况下,在宽度或高度上增加矩形(最初是正方形)。
但是,我认为这样的算法会很慢并且不会导致最优解。
有什么建议?