我正在写一个脚本来处理一个图像并提取一个PDF417二维条码,然后将其解码。我提取的ROI没有问题,但是当我试图使用cv2.warpPerspective
来纠正透视图时,结果并不像预期的那样。在
这是我用于转换的代码(这些值由脚本找到,但是对于前面的图像,如下所示):
box_or = np.float32([[23, 30],[395, 23],[26, 2141],[389, 2142]])
box_fix = np.float32([[0,0],[415,0],[0,2159],[415,2159]])
M = cv2.getPerspectiveTransform(box_or,box_fix)
warped = cv2.warpPerspective(img,M,(cols,rows))
我已经检查过了,没有发现代码有任何问题,但是转换肯定是错误的。提取的ROI中的透视失真量最小,但可能会影响解码过程。在
那么,有没有办法消除透视失真呢?我做错什么了吗?这是已知的错误还是什么?任何帮助都是非常欢迎的。在
顺便说一下,我使用的是opencv3.3.0
看起来你给的图像坐标是(y,x)。我知道在OpenCV中坐标的解释是不同的。 在homography example code中,它们提供的坐标为(x,y)-至少基于它们在此片段中使用的“h”和“w”:
因此,尝试将坐标(x,y)同时提供给getPerspectiveTransform和warpPerspective。在
相关问题 更多 >
编程相关推荐