python - matchMask 必须与函数'drawMatches 中的matches1to2 具有相同的大小
问题描述
功能是:
def drawMatches(src_img,src_kp,dst_img,dst_kp,matches,matchesMask):
draw_params = dict(matchColor = (0,255,0), # draw matches in green color
singlePointColor = None,
matchesMask = matchesMask[:100], # draw only inliers
flags = 2)
return cv2.drawMatches(src_img,src_kp,dst_img,dst_kp,matches[:100],None,**draw_params)
代码是:
#draw matches
img=features.drawMatches(list_images[1],k0,list_images[0],k1,mat,matMask)
plt.figure(figsize=(15,15))
plt.imshow(convertResult(img))
我收到以下回溯错误。
Traceback (most recent call last)
<ipython-input-22-6b09780bfa11> in <module>
1 #draw matches
----> 2 img=features.drawMatches(list_images[1],k0,list_images[0],k1,mat,matMask)
3 plt.figure(figsize=(15,15))
4 plt.imshow(convertResult(img))
<ipython-input-6-f486c2a7c157> in drawMatches(src_img, src_kp, dst_img, dst_kp, matches, matchesMask)
81 matchesMask = matchesMask[:100], # draw only inliers
82 flags = 2)
---> 83 return cv2.drawMatches(src_img,src_kp,dst_img,dst_kp,matches[:100],None,**draw_params)
error: OpenCV(3.4.2) /io/opencv/modules/features2d/src/draw.cpp:198: error: (-201:Incorrect size of input array) matchesMask must have the same size as matches1to2 in function 'drawMatches'
是什么导致了这个以及如何解决这个错误?
解决方案
推荐阅读
- python - Python - 如何循环一个结果集
- angular - 使用 SCSS 将 Nativescript 添加到 Angular 8 项目时出错
- azure - 从 Azure 上的 Linux 容器运行 Google Cloud Vision
- pandas - 如何从系列中删除索引 col?
- django - Django raise AppRegistryNotReady("Apps are not loaded yet.") django.core.exceptions.AppRegistryNotReady: 应用程序尚未加载
- windows - 在 power shell 中删除超过 x 天的文件夹 X
- r - 如何只显示两位小数而不四舍五入
- reactjs - scss @include [mixin] 使用 ([arguments]) 语法在 React 项目中无法识别
- mysql - Mysql 8.0:高 CPU 使用率
- python - Microsoft Python 语言服务器无法识别 `zip()` 上的`for` 循环