摘要:理論在上一章中,我們看到了的關(guān)鍵點(diǎn)檢測(cè)和描述但它相對(duì)較慢,人們需要更加快速的版本,所以年引入了一種名為的新算法顧名思義,它是的加速版本作為尺度不變特征變換算法的加速版,算法在適中的條件下完成兩幅圖像中物體的匹配基本實(shí)現(xiàn)了實(shí)時(shí)處理,其快速的
Introduction to SURF (Speeded-Up Robust Features)
理論在上一章中,我們看到了SIFT的關(guān)鍵點(diǎn)檢測(cè)和描述,但它相對(duì)較慢,人們需要更加快速的版本,所以2006年引入了一種名為SURF的新算法, 顧名思義,它是SIFT的加速版本.
作為尺度不變特征變換(SIFT)算法的加速版,SURF算法在適中的條件下完成兩幅圖像中物體的匹配基本實(shí)現(xiàn)了實(shí)時(shí)處理,其快速的基礎(chǔ)實(shí)際上只有一個(gè)——積分圖像haar求導(dǎo).
SURF算法原理:
構(gòu)建Hessian矩陣構(gòu)造高斯金字塔尺度空間
利用非極大值抑制初步確定特征點(diǎn)
精確定位極值點(diǎn)
選取特征點(diǎn)的主方向
構(gòu)造surf特征點(diǎn)描述算子
OpenCV中的SURFimport numpy as np import cv2 img = cv2.imread("img.jpg") # Create SURF object. You can specify params here or later. # Here I set Hessian Threshold to 400 surf = cv2.xfeatures2d.SURF_create(400) # Find keypoints and descriptors directly kp, des = surf.detectAndCompute(img,None) print(len(kp))
output:3477
# Check present Hessian threshold print( surf.getHessianThreshold() )
output:400.0
# We set it to some 50000. Remember, it is just for representing in picture. # In actual cases, it is better to have a value 300-500 surf.setHessianThreshold(50000) #Again compute keypoints and check its number. kp, des = surf.detectAndCompute(img,None) print( len(kp) )
output:2
img2 = cv2.drawKeypoints(img,kp,None,(255,0,0),4) plt.imshow(img2),plt.show()
# Check upright flag, if it False, set it to True print( surf.getUpright() )
output:False
surf.setUpright(True) # Recompute the feature points and draw it kp = surf.detect(img,None) img2 = cv2.drawKeypoints(img,kp,None,(255,0,0),4) plt.imshow(img2),plt.show()
比之前更快了
# Find size of descriptor print( surf.descriptorSize() )
output: 64
# That means flag, "extended" is False. surf.getExtended()
output: False
# So we make it to True to get 128-dim descriptors. surf.setExtended(True) kp, des = surf.detectAndCompute(img,None) print( surf.descriptorSize() ) print( des.shape )
output:
128
(2, 128)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/42061.html
摘要:降采樣的目的是為了綜合所有不同清晰度的圖像進(jìn)行關(guān)鍵點(diǎn)提取,這種關(guān)鍵點(diǎn)攜帶了不同清晰度的信息,對(duì)縮放具有不變性。是對(duì)的一種改進(jìn),主要特點(diǎn)是快速。的達(dá)到維,導(dǎo)致的比較耗時(shí),使用哈爾小波轉(zhuǎn)換得到的方向,讓的降到維,減少了一半,提高了匹配速度。 尺度不變特征變換(Scale-invariant feature transform, 簡(jiǎn)稱SIFT)是圖像局部特征提取的現(xiàn)代方法——基于區(qū)域/圖像塊...
摘要:注意版本的是普通的超集,包含了所有正常版的功能,可以理解為。因?yàn)樽R(shí)別的還是之前的版本。安裝好以后就可以愉快地使用各種庫(kù)了。 寫在前面 之前搞樹莓派,opencv的contrib版本死活裝不上,最后用C++版本四線程編譯了一天, 浪費(fèi)生命的玩意兒我明明記得之前,pip install opencv-contrib是可以安裝的......,年級(jí)大了,老了最近終于找到了一篇推文,原來(lái)是pip...
摘要:十開放模式識(shí)別項(xiàng)目開放模式識(shí)別項(xiàng)目,致力于開發(fā)出一套包含圖像處理計(jì)算機(jī)視覺(jué)自然語(yǔ)言處理模式識(shí)別機(jī)器學(xué)習(xí)和相關(guān)領(lǐng)域算法的函數(shù)庫(kù)。 一、開源生物特征識(shí)別庫(kù) OpenBROpenBR 是一個(gè)用來(lái)從照片中識(shí)別人臉的工具。還支持推算性別與年齡。使用方法:$ br -algorithm FaceRecognition -compare me.jpg you.jpg二、計(jì)算機(jī)視覺(jué)庫(kù) OpenCVOpenC...
摘要:理論我們知道使用向量作為描述符,由于它使用浮點(diǎn)數(shù),因此基本上需要個(gè)字節(jié),類似地,也至少需要個(gè)字節(jié)對(duì)于,為數(shù)千個(gè)特征創(chuàng)建這樣的向量需要大量的內(nèi)存,這對(duì)于資源約束應(yīng)用程序尤其是嵌入式系統(tǒng)是不可行的,內(nèi)存越大,匹配所需的時(shí)間越長(zhǎng)實(shí)際匹配可能不 BRIEF (Binary Robust Independent Elementary Features) 理論 我們知道SIFT使用128-dim...
摘要:理論是一種快速特征點(diǎn)提取和描述的算法這個(gè)算法是由以及在年一篇名為的文章中提出算法分為兩部分,分別是特征點(diǎn)提取和特征點(diǎn)描述。特征提取是由算法發(fā)展來(lái)的,特征點(diǎn)描述是根據(jù)特征描述算法改進(jìn)的 ORB (Oriented FAST and Rotated BRIEF) 理論 ORB(Oriented FAST and Rotated BRIEF)是一種快速特征點(diǎn)提取和描述的算法,這個(gè)算法是由E...
閱讀 2032·2021-11-16 11:45
閱讀 3778·2021-09-06 15:02
閱讀 2095·2019-08-30 15:44
閱讀 2352·2019-08-30 11:21
閱讀 1942·2019-08-29 16:31
閱讀 3484·2019-08-29 13:55
閱讀 1957·2019-08-29 12:15
閱讀 3301·2019-08-28 18:05