OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)
本文實(shí)例為大家分享了OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)的具體代碼,供大家參考,具體內(nèi)容如下
ORB算法是FAST算法和BRIEF算法的結(jié)合,ORB可以用來(lái)對(duì)圖像中的關(guān)鍵點(diǎn)快速創(chuàng)建特征向量,并用這些特征向量來(lái)識(shí)別圖像中的對(duì)象。
實(shí)例化ORB
orb = cv.ORB_create(nfeatures)
參數(shù):
- nfeatures:特征點(diǎn)的最大數(shù)量
利用orb.detectAndCompute()檢測(cè)關(guān)鍵點(diǎn)并計(jì)算
kp, des = orb.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)BRIEF特征向量,二進(jìn)制字符串。
將關(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:?jiǎn)吸c(diǎn)的特征點(diǎn)不被繪制。
import cv2 as cv from matplotlib import pyplot as plt # 1.圖像讀取 img = cv.imread("1.jpg") gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # 2.ORB角點(diǎn)檢測(cè) # 2.1實(shí)例化ORB對(duì)象 orb = cv.ORB_create(nfeatures=1000) # 2.2 檢測(cè)關(guān)鍵點(diǎn),并計(jì)算特征描述符 kp, des = orb.detectAndCompute(gray, None) print(des.shape) # 3.將關(guān)鍵點(diǎn)檢測(cè)在圖像上 img2 = cv.drawKeypoints(img, kp, None, flags=0) # 也可以添加 color 參數(shù)指定圖像顯示關(guān)鍵點(diǎn)的顏色,例如 img2 = cv.drawKeypoints(img, kp, None, color=(0, 0, 255), flags=0) # 4.繪制圖像 plt.figure(figsize=(10, 8), dpi=100) plt.imshow(img2[:, :, ::-1]) plt.xticks([]), plt.yticks([]) plt.show()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- OpenCV角點(diǎn)檢測(cè)的實(shí)現(xiàn)示例
- Python中OpenCV圖像特征和harris角點(diǎn)檢測(cè)
- OpenCV半小時(shí)掌握基本操作之角點(diǎn)檢測(cè)
- OpenCV特征提取與檢測(cè)之Shi-Tomasi角點(diǎn)檢測(cè)器
- OpenCV特征提取與檢測(cè)之Harris角點(diǎn)檢測(cè)
- Android基于OpenCV實(shí)現(xiàn)Harris角點(diǎn)檢測(cè)
- python opencv角點(diǎn)檢測(cè)連線功能的實(shí)現(xiàn)代碼
- OpenCV哈里斯(Harris)角點(diǎn)檢測(cè)的實(shí)現(xiàn)
- OpenCV實(shí)現(xiàn)圖像角點(diǎn)檢測(cè)
- opencv實(shí)現(xiàn)角點(diǎn)檢測(cè)
相關(guān)文章
python中把元組轉(zhuǎn)換為namedtuple方法
在本篇文章里小編給大家整理的是一篇關(guān)于python中把元組轉(zhuǎn)換為namedtuple方法,有興趣的朋友們可以參考下。2020-12-12Python 爬蟲(chóng)學(xué)習(xí)筆記之多線程爬蟲(chóng)
本文給大家介紹的是python基于XPath實(shí)現(xiàn)多線程爬蟲(chóng)的實(shí)例以及XPath的介紹安裝和簡(jiǎn)單用法,非常的細(xì)致,有需要的小伙伴可以參考下2016-09-09python動(dòng)態(tài)監(jiān)控日志內(nèi)容的示例
本文介紹如何使用Python動(dòng)態(tài)監(jiān)控程序日志的內(nèi)容,這里的動(dòng)態(tài)指的是日志文件不斷的追加新的日志內(nèi)容,動(dòng)態(tài)監(jiān)控是指監(jiān)控日志新追加的日志內(nèi)容2014-02-02Python通過(guò)fnmatch模塊實(shí)現(xiàn)文件名匹配
這篇文章主要介紹了Python通過(guò)fnmatch模塊實(shí)現(xiàn)文件名匹配,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09python利用Excel讀取和存儲(chǔ)測(cè)試數(shù)據(jù)完成接口自動(dòng)化教程
這篇文章主要介紹了python利用Excel讀取和存儲(chǔ)測(cè)試數(shù)據(jù)完成接口自動(dòng)化教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04python利用os模塊編寫(xiě)文件復(fù)制功能——copy()函數(shù)用法
這篇文章主要介紹了python利用os模塊編寫(xiě)文件復(fù)制功能——copy()函數(shù)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Python之list對(duì)應(yīng)元素求和的方法
今天小編就為大家分享一篇Python之list對(duì)應(yīng)元素求和的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用
這篇文章主要為大家介紹了pytest自動(dòng)化測(cè)試中的fixture的聲明和調(diào)用,文中含有詳細(xì)示例操作有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10