机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接

Posted my-love-is-python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接相关的知识,希望对你有一定的参考价值。

书籍的SIFT特征点连接:

   第一步:使用sift.detectAndComputer找出关键点和sift特征向量

   第二步:构建BFMatcher()蛮力匹配器,bf.match匹配sift特征向量,使用的是欧式距离

   第三步:根据匹配结果matches.distance对matches按照距离进行排序

   第四步:进行画图操作,使用cv2.drawMatches进行画图操作

import cv2
import numpy as np

#读入图片
imgA = cv2.imread(box.png, 0)
imgB = cv2.imread(box_in_scene.png, 0)




def cv_show(img, name):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# 第一步:构造sift,求解出特征点和sift特征向量
sift = cv2.xfeatures2d.SIFT_create()
kpsA, dpA = sift.detectAndCompute(imgA, None)
kpsB, dpB = sift.detectAndCompute(imgB, None)

# 第二步:构造BFMatcher()蛮力匹配,匹配sift特征向量距离最近对应组分
bf = cv2.BFMatcher()
# 获得匹配的结果
matches = bf.match(dpA, dpB)

#第三步:对匹配的结果按照距离进行排序操作
matches = sorted(matches, key=lambda x: x.distance)

# 第四步:使用cv2.drawMacthes进行画图操作
ret = cv2.drawMatches(imgA, kpsA, imgB, kpsB, matches[:10], None, flags=2)

cv2.imshow(ret, ret)
cv2.waitKey(0)
cv2.destroyAllWindows()

技术图片

 

以上是关于机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接的主要内容,如果未能解决你的问题,请参考以下文章

Python实现图像的全景拼接

Python实现图像的全景拼接

图像配准SIFT算法原理及二图配准拼接

图像配准SIFT算法原理及二图配准拼接

图像配准SIFT算法原理及二图配准拼接

Python实现图像的全景拼接,毕设选题