首页 > 解决方案 > 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'

是什么导致了这个以及如何解决这个错误?

标签: pythonopencvdeep-learningcomputer-visionimage-stitching

解决方案


推荐阅读