Python OpenCV中的drawMatches()怎么使用

发布时间:2022-07-18 09:21:41 作者:iii
来源:亿速云 阅读:867

这篇文章主要介绍了Python OpenCV中的drawMatches()怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python OpenCV中的drawMatches()怎么使用文章都会有所收获,下面我们一起来看看吧。

作用说明

该方法被用于绘制关键点的匹配情况。我们看到的许多匹配结果都是使用这一方法绘制的——一左一右两张图像,匹配的关键点之间用线条链接。

函数原型

cv.drawMatches(	img1, keypoints1, img2, keypoints2, matches1to2, outImg[, matchColor[, singlePointColor[, matchesMask[, flags]]]]) -> outImg
cv.drawMatches(	img1, keypoints1, img2, keypoints2, matches1to2, outImg, matchesThickness[, matchColor[, singlePointColor[, matchesMask[, flags]]]]	) -> outImg
cv.drawMatchesKnn(	img1, keypoints1, img2, keypoints2, matches1to2, outImg[, matchColor[, singlePointColor[, matchesMask[, flags]]]]) -> outImg

参数详解

def bf_match(img_path2, img_path3):
    # 读取两张图像
    img1 = cv2.imread(img_path2, cv2.IMREAD_GRAYSCALE)
    img2 = cv2.imread(img_path3, cv2.IMREAD_GRAYSCALE)

    # 计算两张图像的SIFT描述符
    kp1, des1, _ = sift_algorithm(img_path2)
    kp2, des2, _ = sift_algorithm(img_path3)

    # 创建BFMatcher实例
    bf = cv2.BFMatcher()

    # 获得最佳匹配
    matches = bf.match(des1, des2)
    # 绘制匹配结果
    # matches = sorted(matches, key = lambda x:x.distance)
    match_result = cv2.drawMatches(img1, kp1, img2, kp2, matches, None, flags=cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS)
    # 显示绘制结果
    plt.imshow(match_result)
    plt.show()
    return match_result

结果

Python OpenCV中的drawMatches()怎么使用

关于“Python OpenCV中的drawMatches()怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python OpenCV中的drawMatches()怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. python函数默认值和全局变量遇到的一些问题
  2. python中元类的作用是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python opencv

上一篇:Python cv.Canny()方法怎么使用

下一篇:Python怎么利用Turtle绘画简单图形

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》