Python?OpenCV中的drawMatches()關(guān)鍵匹配繪制方法
作用說明
該方法被用于繪制關(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:從第一個圖像到第二個圖像的匹配,這意味著keypoints1[i]在keypoints2[Matches[i]中有一個對應(yīng)的點(diǎn)。
- outImg:繪制結(jié)果圖像。
- matchColor:匹配連線與關(guān)鍵點(diǎn)點(diǎn)的顏色,當(dāng)
matchColor==Scalar::all(-1)時,代表取隨機(jī)顏色。 - singlePointColor:沒有匹配項(xiàng)的關(guān)鍵點(diǎn)的顏色,當(dāng)
singlePointColor==Scalar::all(-1)時,代表取隨機(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何利用Python實(shí)現(xiàn)給Excel表格截圖
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)給Excel表格截圖功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
如何使用python實(shí)現(xiàn)多個csv文件數(shù)據(jù)的合并和輸出
文章介紹了如何使用Python批量合并多個CSV文件,并提供具體代碼示例,代碼簡單易懂,感興趣的朋友一起看看吧2025-03-03
python的pytest框架之命令行參數(shù)詳解(上)
這篇文章主要介紹了python的pytest框架之命令行參數(shù)詳解,pytest是一款強(qiáng)大的python自動化測試工具,可以勝任各種類型或者級別的軟件測試工作。pytest提供了豐富的功能,包括assert重寫,第三方插件,需要的朋友可以參考下2019-06-06
Django serializer優(yōu)化類視圖的實(shí)現(xiàn)示例
這篇文章主要介紹了Django serializer優(yōu)化類視圖的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
Python探索之靜態(tài)方法和類方法的區(qū)別詳解
這篇文章主要介紹了Python探索之靜態(tài)方法和類方法的區(qū)別詳解,小編覺得還是挺不錯的,這里分享給大家,供需要的朋友參考。2017-10-10

