如何使用OpenCV查找四点多边形近似值?

问题描述

所以我有一个问题,要求我对一系列数字进行透视变换。但是,为了获得四点变换,我需要正确的点作为参数发送到函数。我找不到能解决此问题的任何方法,并且尝试了凸包(返回四个以上),minAreaRect(它返回一个矩形)。

This is the image I've been working with

解决方法

我在OCR方面没有很多经验,但是我希望所有文本段都位于同一透视图平面上。

如果是这样,如何在七个连接的组件之一上使用简化的凸包(例如convexHull()然后approxPolyDP)来获取点/计算透视图,然后将相同的不变形应用于缩放的包含所有组件的四边形? (可能不完美,但很接近)

希望this answer中的代码片段将有助于: 4 point poly around the image of an envelope

我真的希望可以将相同的透视变换应用于每个黄色文本连接的组件。