更新時間:2021-07-30 來源:黑馬程序員 瀏覽量:
在OPenCV中實現(xiàn)ORB算法,使用的是:
1.實例化ORB
orb = cv.xfeatures2d.orb_create(nfeatures)
參數(shù):
·nfeatures: 特征點的最大數(shù)量
2.利用orb.detectAndCompute()檢測關鍵點并計算
kp,des = orb.detectAndCompute(gray,None)
參數(shù):
·gray: 進行關鍵點檢測的圖像,注意是灰度圖像
返回:
·kp: 關鍵點信息,包括位置,尺度,方向信息
·des: 關鍵點描述符,每個關鍵點BRIEF特征向量,二進制字符串,
3.將關鍵點檢測結(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角點檢測
# 2.1 實例化ORB對象
orb = cv.ORB_create(nfeatures=500)
# 2.2 檢測關鍵點,并計算特征描述符
kp,des = orb.detectAndCompute(img,None)
print(des.shape)
# 3 將關鍵點繪制在圖像上
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:2217622915,獲取《圖像處理OpenCV入門教程》全套視頻教程+筆記+源碼。
猜你喜歡: