我有一大堆图片,这些图片是拍摄驾驶执照的手机照片(但这可能适用于任何类型的文件)。它们具有各种形状和尺寸,包括相机的不同角度,相机与驾驶执照的不同距离,不同的照明等。
OpenCV中是否有任何方法可以在每个图像中识别已知的地标,然后裁剪,调整大小,旋转每个图像,以便最终结果,我有一组完全统一的图像(例如,驾驶执照填满整个图像,它们看起来都一样,对齐相同,等等)?
谢谢!
答案 0 :(得分:0)
我建议的一种方法(使用OpenCV中提供的功能)是:
训练Haar Cascade分类器识别地标(适用于徽标)
对图像进行一些旋转,然后在每个图像中查找徽标。您应该找到一个或多个匹配项,具体取决于您使用的轮换次数
执行边缘检测并将边缘像素投影到垂直轴。具有最大间隙的投影将表示文本之间的间距,并引导您选择最接近正确方向的一个图像
现在,您可以使用驾驶执照的已知属性(徽标距左上角等数英寸等)使用徽标位置裁剪,缩放或取消缩放此图像。
您也可以将徽标的SIFT功能与照片的SIFT功能相匹配,而不是Haar级联分类器。
我没有发布任何代码或示例,因为问题非常广泛。但是,您可以轻松找到每个步骤的OpenCV文档和示例。
答案 1 :(得分:0)
OpenCV中有没有办法
本教程应该对您有用:https://www.learnopencv.com/homography-examples-using-opencv-python-c/