當(dāng)前位置:
首頁(yè) >
OpenCV SIFT检测关键点
發(fā)布時(shí)間:2025/5/22
72
豆豆
生活随笔
收集整理的這篇文章主要介紹了
OpenCV SIFT检测关键点
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SIFT原理:
-
尺度空間極值檢測(cè):構(gòu)建高斯金字塔,高斯差分金字塔,檢測(cè)極值點(diǎn)。
-
關(guān)鍵點(diǎn)定位:去除對(duì)比度較小和邊緣對(duì)極值點(diǎn)的影響。
-
關(guān)鍵點(diǎn)方向確定:利用梯度直方圖確定關(guān)鍵點(diǎn)的方向。
-
關(guān)鍵點(diǎn)描述:對(duì)關(guān)鍵點(diǎn)周?chē)鷪D像區(qū)域分塊,計(jì)算塊內(nèi)的梯度直方圖,生成具有特征向量,對(duì)關(guān)鍵點(diǎn)信息進(jìn)行描述。
在OpenCV中利用SIFT檢測(cè)關(guān)鍵點(diǎn)的流程如下所示:
1.實(shí)例化sift
sift = cv.xfeatures2d.SIFT_create()2.利用sift.detectAndCompute()檢測(cè)關(guān)鍵點(diǎn)并計(jì)算
kp,des = sift.detectAndCompute(gray,None)參數(shù):
- gray: 進(jìn)行關(guān)鍵點(diǎn)檢測(cè)的圖像,注意是灰度圖像
返回:
- kp: 關(guān)鍵點(diǎn)信息,包括位置,尺度,方向信息
- des: 關(guān)鍵點(diǎn)描述符,每個(gè)關(guān)鍵點(diǎn)對(duì)應(yīng)128個(gè)梯度信息的特征向量
3.將關(guān)鍵點(diǎn)檢測(cè)結(jié)果繪制在圖像上
cv.drawKeypoints(image, keypoints, outputimage, color, flags)參數(shù):
- image: 原始圖像
- keypoints:關(guān)鍵點(diǎn)信息,將其繪制在圖像上
- outputimage:輸出圖片,可以是原始圖像
- color:顏色設(shè)置,通過(guò)修改(b,g,r)的值,更改畫(huà)筆的顏色,b=藍(lán)色,g=綠色,r=紅色。
- flags:繪圖功能的標(biāo)識(shí)設(shè)置
1.cv2.DRAW_MATCHES_FLAGS_DEFAULT:創(chuàng)建輸出圖像矩陣,使用現(xiàn)存的輸出圖像繪制匹配對(duì)和特征點(diǎn),對(duì)每一個(gè)關(guān)鍵點(diǎn)只繪制中間。
2.cv2.DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG:不創(chuàng)建輸出圖像矩陣,而是在輸出圖像上繪制匹配對(duì)。
3.cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS:對(duì)每一個(gè)特征點(diǎn)繪制帶大小和方向的關(guān)鍵點(diǎn)圖形。
4.cv2.DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS:單點(diǎn)的特征點(diǎn)不被繪制。
總結(jié)
以上是生活随笔為你收集整理的OpenCV SIFT检测关键点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OpenCV Shi-Tomasi角点检
- 下一篇: OpenCV Fast角点检测