这里其实就是opencv-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
因为我这里使用的是cv2.createSticher,我自己的opencv-python版本是4.4.0.42因此要降低版本
降低opencv-python版本前要先写在numpy后再安装opencv-python
pip uninstall numpy
pip install opencv-python==3.4.18.65
问题解决