Python?OpenCV中的drawMatches()關(guān)鍵匹配繪制方法
作用說(shuō)明
該方法被用于繪制關(guān)鍵點(diǎn)的匹配情況。我們看到的許多匹配結(jié)果都是使用這一方法繪制的——一左一右兩張圖像,匹配的關(guān)鍵點(diǎn)之間用線條鏈接。
函數(shù)原型
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
參數(shù)詳解
- img1:第一張?jiān)紙D像。
- keypoints1:第一張?jiān)紙D像的關(guān)鍵點(diǎn)。
- img2:第二張?jiān)紙D像。
- keypoints2:第二張?jiān)紙D像的關(guān)鍵點(diǎn)。
- matches1to2:從第一個(gè)圖像到第二個(gè)圖像的匹配,這意味著keypoints1[i]在keypoints2[Matches[i]中有一個(gè)對(duì)應(yīng)的點(diǎn)。
- outImg:繪制結(jié)果圖像。
- matchColor:匹配連線與關(guān)鍵點(diǎn)點(diǎn)的顏色,當(dāng)
matchColor==Scalar::all(-1)
時(shí),代表取隨機(jī)顏色。 - singlePointColor:沒(méi)有匹配項(xiàng)的關(guān)鍵點(diǎn)的顏色,當(dāng)
singlePointColor==Scalar::all(-1)
時(shí),代表取隨機(jī)顏色。 - matchesMask:確定繪制哪些匹配項(xiàng)的掩碼。如果掩碼為空,則繪制所有匹配項(xiàng)。
- flags:繪圖功能的一些標(biāo)志。具體有:
- 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 代碼實(shí)例
def bf_match(img_path1, img_path2): # 讀取兩張圖像 img1 = cv2.imread(img_path1, cv2.IMREAD_GRAYSCALE) img2 = cv2.imread(img_path2, cv2.IMREAD_GRAYSCALE) # 計(jì)算兩張圖像的SIFT描述符 kp1, des1, _ = sift_algorithm(img_path1) kp2, des2, _ = sift_algorithm(img_path2) # 創(chuàng)建BFMatcher實(shí)例 bf = cv2.BFMatcher() # 獲得最佳匹配 matches = bf.match(des1, des2) # 繪制匹配結(jié)果 # 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) # 顯示繪制結(jié)果 plt.imshow(match_result) plt.show() return match_result
結(jié)果
到此這篇關(guān)于Python OpenCV中的drawMatches()關(guān)鍵匹配繪制方法的文章就介紹到這了,更多相關(guān)Python OpenCV drawMatches() 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式
今天小編就為大家分享一篇tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Ubuntu下創(chuàng)建虛擬獨(dú)立的Python環(huán)境全過(guò)程
virtualenv可以搭建虛擬且獨(dú)立的python環(huán)境,可以使每個(gè)項(xiàng)目環(huán)境與其他項(xiàng)目獨(dú)立開來(lái),保持環(huán)境的干凈,解決包沖突問(wèn)題。本篇文章講述如何在Linux以及Ubuntu中創(chuàng)建Python虛擬環(huán)境,以及Virtualenvwrapper的安裝使用,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-02-02教你利用python實(shí)現(xiàn)企業(yè)微信發(fā)送消息
今天帶大家來(lái)練習(xí)python實(shí)戰(zhàn),文中對(duì)利用python實(shí)現(xiàn)企業(yè)微信發(fā)送消息作了詳細(xì)的圖文解說(shuō)及代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴很有幫助,需要的朋友可以參考下2021-05-05python數(shù)據(jù)類型bytes?和?bytearray的使用與區(qū)別
本文主要介紹了python數(shù)據(jù)類型bytes?和?bytearray的使用與區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02python爬取本站電子書信息并入庫(kù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了python爬取本站電子書信息并入庫(kù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2020-01-01淺析Django 接收所有文件,前端展示文件(包括視頻,文件,圖片)ajax請(qǐng)求
這篇文章主要介紹了Django 接收所有文件,前端展示文件(包括視頻,文件,圖片)ajax請(qǐng)求,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2020-03-03