机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)


1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2)  # 对两个图像关键点进行连线操作

参数说明:imageA和imageB表示图片,kpsA和kpsB表示关键点, matches表示进过cv2.BFMatcher获得的匹配的索引值,也有距离, flags表示有几个图像

书籍的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()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 机器学习进阶-案例实战-图像全景拼接-图像全景拼接(RANSCA) 1.sift.detectAndComputer(获得sift图像关键点) 2.cv2.findHomography(计算单应性矩阵H) 3.cv2.warpPerspective(获得单应性变化后的图像) 4.cv2.line(对关键点位置进行连线画图) 机器学习进阶-图像特征sift-SIFT特征点 1.cv2.xfeatures2d.SIFT_create(实例化sift) 2. sift.detect(找出关键点) 3.cv2.drawKeypoints(画出关键点) 4.sift.compute(根据关键点计算sift向量) 机器学习进阶-图像特征harris-角点检测 1.cv2.cornerHarris(进行角点检测) 机器学习进阶-图像形态学操作-膨胀操作 1.cv2.dilate(进行膨胀操作) 机器学习进阶-图像基本操作-图像数据读取 1.cv2.imread(图片读入) 2.cv2.imshow(图片展示) 3.cv2.waitKey(图片停留的时间) 4.cv2.destroyAllWindows(清除所有的方框界面) 5.cv2.imwrite(对图片进行保存) 机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波) 机器学习进阶-图像基本操作-数值计算 1.cv2.add(将图片进行加和) 2.cv2.resize(图片的维度变换) 3.cv2.addWeighted(将图片按照公式进行重叠操作) Matlab图像处理学习笔记(八):用广义霍夫变换筛选sift特征点 Matlab图像处理学习笔记(六):基于sift特征点的人民币识别 机器学习进阶-光流估计 1.cv2.goodFeaturesToTrack(找出光流估计所需要的角点) 2.cv2.calcOpticalFlowPyrLK(获得光流检测后的角点位置) 3.cv2.add(进行像素点的加和)
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM