OpenCV-Contrib-python中使用的错误
图像拼接
stitch类的使用
OpenCV的函数为:cv2.createStitcher(OpenCV 3.x)和cv2.Stitcher_create(OpenCV 4)函数。
不同的opencv版本对应了不同的使用方法,否则会报错:没有stitch的model。
注意不同版本的使用方法。
使用OpenCV执行图像拼接时遇到错误?
尝试使用cv2.createStitcher函数或cv2.Stitcher_create函数时,可能会遇到错误。我看到人们遇到的两个“易于解决”的错误就是忘记了他们正在使用的OpenCV版本。例如,如果您使用OpenCV 4但尝试调用cv2.createSticher,您将遇到以下错误消息:
cv2.createStitcher
Traceback (most recent call last):
File “”, line 1, in
AttributeError: module ‘cv2’ has no attribute ‘createStitcher’
您应该使用cv2.Stitcher_create函数。同样,如果您使用OpenCV 3并尝试调用cv2.Sticher_create,您将收到此错误:
cv2.Stitcher_create
Traceback (most recent call last):
File “”, line 1, in
AttributeError: module ‘cv2’ has no attribute ‘Stitcher_create’
而是使用cv2.createSticher函数。
如果您不确定您使用的是哪个OpenCV版本,可以使用cv2 .__ version__进行检查:
cv2.__version__
'4.0.0'
1
2
在这里你可以看到我正在使用OpenCV 4.0.0。您可以对系统执行相同的检查。您可能遇到的最终错误,可以说是最常见的错误,与OpenCV(1)没有贡献支持和(2)在未启OPENCV_ENABLE_NONFREE = ON选项的情况下编译有关。要解决此错误,必须安装opencv_contrib模块并将OPENCV_ENABLE_NONFREE选项设置为ON。如果您遇到与OpenCV的none-free和contrib模块相关的错误,请确保参考我的OpenCV安装指南以确保您完全安装了OpenCV。
注意:如果您未遵循我的某个安装指南,我将无法调试您自己安装的OpenCV,因此请确保在配置系统时使用我的OpenCV安装指南。