我曾与OpenCV Stitching合作过一段时间。现在我想做拼接的最后一步:裁剪图像。这导致在一般多边形中找到最大的内接轴平行矩形。
我已经使用Google搜索并找到了一些答案(How do I crop to largest interior bounding box in OpenCV?)。尽管程序运行缓慢,但输出图像的质量仍然很好(裁剪图像需要15秒才能将36个1600x1200图像拼接成1个全景图,因为使用的算法时间复杂度很低(对于轮廓中的每个点,它扫描同一行/列中的所有点)。
有什么方法可以改善这个?感谢。
P / S:我也找到了这本书:在多边形中找到最大面积轴平行矩形
Karen Daniels和Victor Milenkovicz Dan Rothx哈佛大学,
应用科学系,
计算技术研究中心,
Cambridge,MA 02138。
1995年6月
但我没有任何想法将这个理论应用到代码中:v
答案 0 :(得分:5)
您可能不想实现该算法;这需要相当长的时间,而且我怀疑你会因为大O界限而对表现感到失望。
听起来好像你正在使用栅格,所以你可以在二进制矩阵中使用linear-time algorithm for finding the largest rectangle of zeros。