機器學習進階-案例實戰-圖像全景拼接-書籍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