您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

是opencv python2包装中的getPerspectiveTransform破坏?

5b51 2022/1/14 8:23:02 python 字数 1827 阅读 576 来源 www.jb51.cc/python

在opencv的 python2包装中似乎与“getPerspectiveTransform”有关.首先,它需要两个参数,而不是预期的三个. 所以,而不是第一个包装: cv.GetPerspectiveTransform(source,destination,3x3mat) 下雪了: cv2.getPerspectiveTransform(?,?) 如果我尝试放入两组四个四角坐标作为参数,如下所示

概述

所以,而不是第一个包装:

cv.GetPerspectiveTransform(source,destination,3x3mat)

下雪了:

cv2.getPerspectiveTransform(?,?)

如果我尝试放入两组四个四角坐标作为参数,如下所示:

cv2.getPerspectiveTransform(first_set_of_corners,second_set_of_corners)

它会吐出以下错误

cv2.error: C:\slave\WinInstallerMegaPack\src\opencv\modules\imgproc\src\imgwarp.
cpp:3194: error: (-215) src.checkVector(2,CV_32F) == 4 && dst.checkVector(2,CV
_32F) == 4

如果支票不应该等于四(因此四边形的四边形),那么我不确定我想要什么.与python2包装中的其他内容一样,这个功能完全没有文档,所以我不知道它是坏的,更有可能的是我做错了.有没有人设法让这个工作正常?

可能是,你的积分不是长度4,也可能不是float32数字.

尝试以下:

import cv2
import numpy as np

img = cv2.imread('1original.jpg',0)

src = np.array([[50,50],[450,450],[70,420],[420,70]],np.float32)
dst = np.array([[0,0],[299,299],[0,0]],np.float32)

ret = cv2.getPerspectiveTransform(src,dst)
print ret

结果是:

[[  8.36097696e-01  -4.51944700e-02  -3.95451613e+01]
 [ -4.51944700e-02   8.36097696e-01  -3.95451613e+01]
 [  6.45161290e-05   6.45161290e-05   1.00000000e+00]]

总结

以上是编程之家为你收集整理的是opencv python2包装中的getPerspectiveTransform破坏?全部内容,希望文章能够帮你解决是opencv python2包装中的getPerspectiveTransform破坏?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶