程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

ORB關鍵點檢測(python實現)

編輯:Python

文章目錄

    • 1.SURF關鍵點檢測,SIFT關鍵點檢測,Shi-Tomasi角點檢測,Harris角點檢測
    • 2.ORB(Oriented FAST and Rotated BRIEF)
    • 3.使用步驟
    • 4.代碼實戰

1.SURF關鍵點檢測,SIFT關鍵點檢測,Shi-Tomasi角點檢測,Harris角點檢測

Harris:
https://blog.csdn.net/Keep_Trying_Go/article/details/125384144
Shi-Tomasi:
https://blog.csdn.net/Keep_Trying_Go/article/details/125384218
SIFT:
https://blog.csdn.net/Keep_Trying_Go/article/details/125384278
SURF:
https://blog.csdn.net/Keep_Trying_Go/article/details/125384513


2.ORB(Oriented FAST and Rotated BRIEF)

優點:
(1)實時檢測;
FAST:可以做到特征點的實時檢測;
BRIEF:對已經檢測到的特征點進行描述;加快了特征描述符建立的速度,同時極大的降低了特征匹配的時間;


3.使用步驟

(1)創建orb對象;cv2.ORB_create()
(2)關鍵點檢測和特征匹配:kp,des=orb.detectAndCompute(gray,mask);


4.代碼實戰

import os
import cv2
import numpy as np
img=cv2.imread('images/HaLiSi.jpg')
img=cv2.resize(src=img,dsize=(450,450))
gray=cv2.cvtColor(src=img,code=cv2.COLOR_BGR2GRAY)
#SIFT對象創建
orb=cv2.ORB_create()
#進行檢測,其中第二個參數為None,表示對整張圖進行檢測
kp=orb.detect(gray,None)
#進行特征匹配
# kp,des=surf.compute(gray,kp)
kp,des=orb.detectAndCompute(gray,None)
print(des)
#繪制角點
cv2.drawKeypoints(image=gray,keypoints=kp,outImage=img,color=(0,255,0))
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
if __name__ == '__main__':
print('Pycharm')



  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved