日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python利用opencv實現SIFT特征提取與匹配

瀏覽:23日期:2022-08-04 09:19:10

本文實例為大家分享了利用opencv實現SIFT特征提取與匹配的具體代碼,供大家參考,具體內容如下

1、SIFT

1.1、sift的定義

SIFT,即尺度不變特征變換(Scale-invariant feature transform,SIFT),是用于圖像處理領域的一種描述。這種描述具有尺度不變性,可在圖像中檢測出關鍵點,是一種局部特征描述子。

1.2、sift算法介紹

SIFT由David Lowe在1999年提出,在2004年加以完善 。SIFT在數字圖像的特征描述方面當之無愧可稱之為最紅最火的一種,許多人對SIFT進行了改進,誕生了SIFT的一系列變種。SIFT已經申請了專利(所以現在opencv使用這個算法,需要低的版本)。

SIFT特征是基于物體上的一些局部外觀的興趣點而與影像的大小和旋轉無關。對于光線、噪聲、微視角改變的容忍度也相當高。基于這些特性,它們是高度顯著而且相對容易擷取,在母數龐大的特征數據庫中,很容易辨識物體而且鮮有誤認。使用SIFT特征描述對于部分物體遮蔽的偵測率也相當高,甚至只需要3個以上的SIFT物體特征就足以計算出位置與方位。在現今的電腦硬件速度下和小型的特征數據庫條件下,辨識速度可接近即時運算。SIFT特征的信息量大,適合在海量數據庫中快速準確匹配。

SIFT算法具有如下一些特點:

1)SIFT特征是圖像的局部特征,其對旋轉、尺度縮放、亮度變化保持不變性,對視角變化、仿射變換、噪聲也保持一定程度的穩定性;2)區分性(Distinctiveness)好,信息量豐富,適用于在海量特征數據庫中進行快速、準確的匹配;3)多量性,即使少數的幾個物體也可以產生大量的SIFT特征向量;4)高速性,經優化的SIFT匹配算法甚至可以達到實時的要求;5)可擴展性,可以很方便的與其他形式的特征向量進行聯合。

1.3、特征檢測

SIFT特征檢測主要包括以下4個基本步驟:1)尺度空間極值檢測:搜索所有尺度上的圖像位置。通過高斯微分函數來識別潛在的對于尺度和旋轉不變的興趣點。2)關鍵點定位:在每個候選的位置上,通過一個擬合精細的模型來確定位置和尺度。關鍵點的選擇依據于它們的穩定程度。3)方向確定:基于圖像局部的梯度方向,分配給每個關鍵點位置一個或多個方向。所有后面的對圖像數據的操作都相對于關鍵點的方向、尺度和位置進行變換,從而提供對于這些變換的不變性。4)關鍵點描述:在每個關鍵點周圍的鄰域內,在選定的尺度上測量圖像局部的梯度。這些梯度被變換成一種表示,這種表示允許比較大的局部形狀的變形和光照變化。

1.4、特征匹配

SIFT特征匹配主要包括2個階段:

第一階段:SIFT特征的生成,即從多幅圖像中提取對尺度縮放、旋轉、亮度變化無關的特征向量。第二階段:SIFT特征向量的匹配。

SIFT特征的生成一般包括以下幾個步驟:

1)構建尺度空間,檢測極值點,獲得尺度不變性。2)特征點過濾并進行精確定位。3)為特征點分配方向值。4)生成特征描述子。以特征點為中心取16×16的鄰域作為采樣窗口,將采樣點與特征點的相對方向通過高斯加權后歸入包含8個bin的方向直方圖,最后獲得4×4×8的128維特征描述子。當兩幅圖像的SIFT特征向量生成以后,下一步就可以采用關鍵點特征向量的歐式距離來作為兩幅圖像中關鍵點的相似性判定度量。取圖1的某個關鍵點,通過遍歷找到圖像2中的距離最近的兩個關鍵點。在這兩個關鍵點中,如果最近距離除以次近距離小于某個閾值,則判定為一對匹配點。

2、python實現

2.1、準備工作

由于SIFT已經申請了專利,所以在高版本的opencv中,會出現錯誤,以前是opencv4.0.1,然后安裝版本為opencv3.4.2.16卸載以前的版本(低版本,可以試試直接運行代碼):

pip uninstall opencv-pythonpip uninstall opencv-contrib-python

用命令行(CMD),采用pip方式:

pip install opencv_python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16

python利用opencv實現SIFT特征提取與匹配

2.2、代碼實現

#!/usr/bin/env python3# -*- coding:utf-8 -*-u’’’Created on 2019年6月14日@author: wuluo’’’__author__ = ’wuluo’__version__ = ’1.0.0’__company__ = u’重慶交大’__updated__ = ’2019-06-14’from matplotlib import pyplot as pltfrom imagedt.decorator import time_costimport cv2print(’cv version: ’, cv2.__version__)def bgr_rgb(img): (r, g, b) = cv2.split(img) return cv2.merge([b, g, r])def orb_detect(image_a, image_b): # feature match orb = cv2.ORB_create() kp1, des1 = orb.detectAndCompute(image_a, None) kp2, des2 = orb.detectAndCompute(image_b, None) # create BFMatcher object bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) # Match descriptors. matches = bf.match(des1, des2) # Sort them in the order of their distance. matches = sorted(matches, key=lambda x: x.distance) # Draw first 10 matches. img3 = cv2.drawMatches(image_a, kp1, image_b, kp2, matches[:100], None, flags=2) return bgr_rgb(img3)@time_costdef sift_detect(img1, img2, detector=’surf’): if detector.startswith(’si’): print('sift detector......') sift = cv2.xfeatures2d.SURF_create() else: print('surf detector......') sift = cv2.xfeatures2d.SURF_create() # find the keypoints and descriptors with SIFT kp1, des1 = sift.detectAndCompute(img1, None) kp2, des2 = sift.detectAndCompute(img2, None) # BFMatcher with default params bf = cv2.BFMatcher() matches = bf.knnMatch(des1, des2, k=2) # Apply ratio test good = [[m] for m, n in matches if m.distance < 0.5 * n.distance] # cv2.drawMatchesKnn expects list of lists as matches. img3 = cv2.drawMatchesKnn(img1, kp1, img2, kp2, good, None, flags=2) return bgr_rgb(img3)if __name__ == '__main__': # load image image_a = cv2.imread(’G:/2018and2019two/qianrushi/wuluo1.jpg’)#絕對路徑 image_b = cv2.imread(’G:/2018and2019two/qianrushi/wuluo2.jpg’) # ORB # img = orb_detect(image_a, image_b) # SIFT or SURF img = sift_detect(image_a, image_b) plt.imshow(img) plt.show()

2.3、運行結果

采用同一張圖片:

python利用opencv實現SIFT特征提取與匹配

兩張有重疊部分的代碼:

python利用opencv實現SIFT特征提取與匹配

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩国产高清| 久久蜜桃资源一区二区老牛| 色天使综合视频| 国产精品99视频| **爰片久久毛片| 日韩精品a在线观看91| 日韩精品免费视频一区二区三区| 综合激情婷婷| 日韩高清在线一区| 丝瓜av网站精品一区二区| 亚洲综合精品| 日韩中文字幕av电影| 亚洲国内精品| 最新亚洲一区| 亚洲三级精品| 国产日韩欧美| 国产一区丝袜| 久久久久国产一区二区| 九一精品国产| 久久亚洲一区| 日韩动漫一区| 美女毛片一区二区三区四区最新中文字幕亚洲 | 蜜桃精品在线| 美女亚洲一区| 视频一区欧美精品| 国产亚洲精品美女久久| 国产精品黄色| 人人草在线视频| 在线日韩欧美| 日韩精品中文字幕一区二区| 国产精品115| 国产黄大片在线观看| 久久国产亚洲| 在线日韩成人| 国产精品久久久久毛片大屁完整版| 精品亚洲精品| 99精品小视频| 亚洲精品乱码久久久久久蜜桃麻豆 | 男女激情视频一区| 日韩二区在线观看| 都市激情国产精品| 91精品福利| 日本中文字幕一区二区视频| 精品视频在线观看网站| 免费毛片在线不卡| 啪啪亚洲精品| 婷婷综合六月| 亚洲免费福利一区| 国产资源在线观看入口av| 99亚洲视频| 国产精品白浆| 九一国产精品| 麻豆精品视频在线观看视频| 婷婷久久一区| 久久久久久免费视频| 日本中文字幕视频一区| 国产一区二区三区四区五区传媒| 国产在线日韩| 欧美精品aa| 不卡中文字幕| 日韩一区二区免费看| 国产亚洲人成a在线v网站| 亲子伦视频一区二区三区| 日韩在线观看中文字幕| 天堂中文在线播放| 色综合视频一区二区三区日韩 | 免费在线观看成人| 国产极品一区| 91久久中文| 97精品在线| 日韩av电影一区| 亚洲精品成人| 国产精品高颜值在线观看| 日本亚洲视频| 久久精品福利| 亚洲va久久| 五月婷婷六月综合| 久久精品国产精品亚洲毛片| 日韩影院精彩在线| 精品国模一区二区三区| 国产剧情在线观看一区| 红桃视频亚洲| 日韩综合精品| 国产日韩一区二区三区在线| 国产一区二区中文| 国产一区二区三区精品在线观看| 免费久久99精品国产自在现线| 欧美国产偷国产精品三区| 国产精品一区二区免费福利视频 | 在线综合亚洲| 免费看av不卡| 国语精品一区| 国产精品成人**免费视频 | 日韩中文字幕在线一区| 亚洲小说欧美另类婷婷| 国产一区国产二区国产三区| 日本va欧美va精品发布| 男人操女人的视频在线观看欧美| 久久精品在线| 精品一区不卡| 久久av资源| 欧美亚洲tv| 日韩一区二区三区高清在线观看| 久久国产精品久久w女人spa| 特黄特色欧美大片| 国产盗摄——sm在线视频| 麻豆精品少妇| 国产精品日本一区二区三区在线| 男女精品网站| 在线一区电影| 亚洲一级特黄| 久久久久久久久久久9不雅视频| 粉嫩av一区二区三区四区五区 | 日韩一区二区三区免费播放| 国产精品视频一区二区三区 | 日韩高清一区| 中文字幕中文字幕精品| 亚洲欧美日韩专区| 欧美在线综合| 亚洲精品欧洲| 日韩成人在线看| 日本天堂一区| 国产精品亚洲欧美| 国产精品v日韩精品v欧美精品网站| 91精品一区| 日韩高清不卡一区二区| 日本欧美一区| 国产精品videossex| 国产精选一区| 国产精品99久久久久久董美香| 欧美精品国产白浆久久久久| 日本在线不卡视频| 欧美一区不卡| 国产精品一区二区av交换| 国产精品一区二区三区av| 六月丁香综合在线视频| 国产精品精品| 久久天堂av| 亚洲免费精品| 婷婷亚洲精品| 国产高清精品二区| 成人在线视频中文字幕| 日本免费久久| 在线一区免费| 日本亚洲最大的色成网站www | 亚洲三级国产| 欧美亚洲网站| 高清久久精品| 国产综合精品| 亚洲人成精品久久久| **爰片久久毛片| 国产传媒在线观看| 国产精品视区| 国产毛片精品| 天堂√中文最新版在线| 欧美日韩国产精品一区二区亚洲| 免费日韩视频| 你懂的国产精品永久在线| 日韩一区二区三区免费播放| 国产精品外国| 国产伦精品一区二区三区千人斩| 国产在线不卡一区二区三区| 欧美.日韩.国产.一区.二区| 日韩区欧美区| 国产在线视频欧美一区| 免费国产自久久久久三四区久久 | 午夜av成人| 欧美中文日韩| 国产精品magnet| 99久久精品费精品国产| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产日韩欧美| 免费污视频在线一区| 视频一区二区国产| 国产福利一区二区精品秒拍| 日韩欧美看国产| 日本不卡一二三区黄网| 91免费精品| 亚洲欧洲日韩精品在线| 成人一区而且| 天使萌一区二区三区免费观看| 国产精品亚洲一区二区在线观看| 日韩精品免费一区二区在线观看 | 韩国精品主播一区二区在线观看 | 性一交一乱一区二区洋洋av| 欧美极品中文字幕| 99国产一区| 粉嫩av一区二区三区四区五区 | av资源新版天堂在线| 亚洲欧美日韩国产一区二区| 国产日韩三级| 九九久久电影| 久久精品国产99国产| 日韩中文字幕av电影| 国产精品久久久久久久免费观看 | 欧美日本久久| 美女亚洲一区| 久久亚洲精品中文字幕| 亚洲欧美日韩国产一区二区| 免费在线播放第一区高清av|