亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè)

 更新時(shí)間:2022年08月01日 11:56:56   作者:?VVcat?  
這篇文章主要為大家詳細(xì)介紹了OpenCV基于ORB算法實(shí)現(xiàn)角點(diǎn)檢測(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論