栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python OpenCV中的drawMatches()关键点匹配绘制方法详解

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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
参数详解
  • img1:第一张原始图像。
  • keypoints1:第一张原始图像的关键点。
  • img2:第二张原始图像。
  • keypoints2:第二张原始图像的关键点。
  • matches1to2:从第一个图像到第二个图像的匹配,这意味着keypoints1[i]在keypoints2[Matches[i]中有一个对应的点。
  • outImg:绘制结果图像。
  • matchColor:匹配连线与关键点点的颜色,当matchColor==Scalar::all(-1) 时,代表取随机颜色。
  • singlePointColor:没有匹配项的关键点的颜色,当singlePointColor==Scalar::all(-1) 时,代表取随机颜色。
  • matchesMask:确定绘制哪些匹配项的掩码。如果掩码为空,则绘制所有匹配项。
  • flags:绘图功能的一些标志。具体有:
    • cv.DRAW_MATCHES_FLAGS_DEFAULT
    • cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS
    • cv.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG
    • cv.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS
代码实例
def bf_match(img_path1, img_path2):
    # 读取两张图像
    img1 = cv2.imread(img_path1, cv2.IMREAD_GRAYSCALE)
    img2 = cv2.imread(img_path2, cv2.IMREAD_GRAYSCALE)

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

    # 创建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
结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/869502.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号