更新時(shí)間:2021年07月30日16時(shí)16分 來源:傳智教育 瀏覽次數(shù):
在OPenCV中實(shí)現(xiàn)ORB算法,使用的是:
1.實(shí)例化ORB
orb = cv.xfeatures2d.orb_create(nfeatures)
參數(shù):
·nfeatures: 特征點(diǎn)的最大數(shù)量
2.利用orb.detectAndCompute()檢測關(guān)鍵點(diǎn)并計(jì)算
kp,des = orb.detectAndCompute(gray,None)
參數(shù):
·gray: 進(jìn)行關(guān)鍵點(diǎn)檢測的圖像,注意是灰度圖像
返回:
·kp: 關(guān)鍵點(diǎn)信息,包括位置,尺度,方向信息
·des: 關(guān)鍵點(diǎn)描述符,每個(gè)關(guān)鍵點(diǎn)BRIEF特征向量,二進(jìn)制字符串,
3.將關(guān)鍵點(diǎn)檢測結(jié)果繪制在圖像上
cv.drawKeypoints(image, keypoints, outputimage, color, flags)cv.drawKeypoints(image, keypoints, outputimage, color, flags)
示例:
import numpy as np import cv2 as cv from matplotlib import pyplot as plt # 1 圖像讀取 img = cv.imread('./image/tv.jpg') # 2 ORB角點(diǎn)檢測 # 2.1 實(shí)例化ORB對(duì)象 orb = cv.ORB_create(nfeatures=500) # 2.2 檢測關(guān)鍵點(diǎn),并計(jì)算特征描述符 kp,des = orb.detectAndCompute(img,None) print(des.shape) # 3 將關(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()
OpenCV視頻教程
添加QQ:435946716獲取全套《OpenCV視頻教程》。
猜你喜歡:
北京校區(qū)