OpenCV BRIEF角点检测
生活随笔
收集整理的這篇文章主要介紹了
OpenCV BRIEF角点检测
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
BRIEF是一種特征描述子提取算法,并非特征點的提取算法,一種生成二值化描述子的算法,不提取代價低,匹配只需要使用簡單的漢明距離利用比特之間的異或操作就可以完成。因此,時間代價低,空間代價低,效果還挺好是最大的優(yōu)點。
實例化STAR
star = cv2.xfeatures2d.StarDetector_create()實例化BRIEF
brief = cv2.xfeatures2d.BriefDescriptorExtractor_create()利用star.detect檢測關鍵點,沒有對應的關鍵點描述
kp = star.detect(gray, None)參數(shù):
- gray:進行關鍵點檢測的圖像(灰度圖像)
返回
- kp:關鍵點信息,包括位置,尺度,方向信息。
BRIEF檢測關鍵點 計算特征描述符
kp, des = brief.compute(gray, kp)參數(shù):
- gray:進行關鍵點檢測的圖像(灰度圖像)
- kp:輸入特征點集合,無法計算描述符的特征點將被刪除,有時可以添加新的特征點。
返回:
- kp:關鍵點信息,包括位置,尺度,方向信息。
- des:關鍵點描述符,每個關鍵點BRIEF特征向量,二進制字符串。
將關鍵點檢測結(jié)果繪制在圖像上
cv.drawKeypoints(image, keypoints, outputimage, color, flags)參數(shù):
- image: 原始圖像
- keypoints:關鍵點信息,將其繪制在圖像上
- outputimage:輸出圖片,可以是原始圖像
- color:顏色設置,通過修改(b,g,r)的值,更改畫筆的顏色,b=藍色,g=綠色,r=紅色。
- flags:繪圖功能的標識設置
- cv2.DRAW_MATCHES_FLAGS_DEFAULT:創(chuàng)建輸出圖像矩陣,使用現(xiàn)存的輸出圖像繪制匹配對和特征點,對每一個關鍵點只繪制中間。
- cv2.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG:不創(chuàng)建輸出圖像矩陣,而是在輸出圖像上繪制匹配對。
- cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS:對每一個特征點繪制帶大小和方向的關鍵點圖形。
- cv2.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS:單點的特征點不被繪制。
BRIEF的缺點:
BRIEF的描述符在旋轉(zhuǎn)的圖像下表現(xiàn)不是很好。
總結(jié)
以上是生活随笔為你收集整理的OpenCV BRIEF角点检测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV ORB角点检测
- 下一篇: OpenCV 从文件中读取视频并播放