简短的问题是如何使用OpenCV将像下面这样的形状转换成矩形?
备注:
长篇故事
我试图纠正扭曲的图像,代表一张纸与文字,标志等,在纸张折叠2或4次,并使它几乎完美的矩形。
输入图像已采用黑白格式,并带有校正的透视图。所以一切都很好,除了它周围有黑色的区域,扭曲的边缘和文字是有点波浪。
我的想法是,顺序应该是这样的:
例如,我们使用Imgproc.findContours
来执行透视校正,然后找到工作表角,然后是Imgproc.getPerspectiveTransform
,最后使用Imgproc.warpPerspective
进行校正。
但我找不到适合这个案子的算法。
有人能指出在图像处理中人们是如何做到的吗?
发布于 2018-08-21 20:47:25
在本例中,您希望对该图像进行非线性转换。传统上,您会使用整个文件的单一转换,使其成为一个矩形。这只能用拐角处来完成。更复杂的校正,如镜头畸变,你需要在页面上选择点,并断言它们应该是共面的,以生成你的转换矩阵。基本上,你需要对你的图像中的几何学有一个理解,以消除它。所以你需要找到的几何图形是页面的三维曲面。
为了找到你那张破损的纸的高度非线性几何学,你可以拍摄多张页面的图像并对它们进行三角剖分。如果你想走这条路,拿起哈特利和齐瑟曼的“多视图几何”的副本。
https://stackoverflow.com/questions/31008791
复制相似问题