我需要处理一些从扫描仪获得的信息。问题是我偶尔会旋转的图像。我决定在照片上添加一些特殊对象,以便能够使用技术 Features2D + Homography 来找到该对象。我认为在找到特殊对象后,我可以将图像旋转回其原始位置(使用 warpPerspective?)。这是一个例子:
旋转后的图像,我知道黑框下面有一些文本,我需要那个区域用于 OCR 功能:
找到黑盒后我被卡住了。我想我会使用 warpPerspective 来旋转它,但是如何找出 3x3 变换矩阵?
谢谢。
我需要处理一些从扫描仪获得的信息。问题是我偶尔会旋转的图像。我决定在照片上添加一些特殊对象,以便能够使用技术 Features2D + Homography 来找到该对象。我认为在找到特殊对象后,我可以将图像旋转回其原始位置(使用 warpPerspective?)。这是一个例子:
旋转后的图像,我知道黑框下面有一些文本,我需要那个区域用于 OCR 功能:
找到黑盒后我被卡住了。我想我会使用 warpPerspective 来旋转它,但是如何找出 3x3 变换矩阵?
谢谢。
使用 FindHomography 方法。
喂它 4 个源点。对于目标点,您必须进行一些数学运算,例如 4 个点应在目标图像中放置的位置。一个简单直接的操作是:
(from top-left going clockwise)
A' = (A.x, A.y)
B' = (A.x + length, A.y)
C' = (A.x + length, A.y + width)
D' = (A.x, A.y + width)
使用 FindHomography() 将 (A,B,C,D) 映射到 (A', B', C', D')。
其中宽度和长度是已识别矩形的宽度和长度。