Python計算機視覺SIFT尺度不變的圖像特征變換
圖像特征-SIFT尺度不變特征變換
1.1圖像尺度空間
在一定的范圍內(nèi),無論物體是大還是小,人眼都可以分辨出來,然后計算機要具有相同的能力卻很難,所以要讓機器能夠?qū)ξ矬w在不同尺度下有一個統(tǒng)一的認知,就需要考慮圖像在不同尺度下都存在的特點。
尺度空間的獲取通常使用高斯模糊來實現(xiàn)

1.2多分辨率金字塔

1.3高斯差分金字塔

1.4DoG空間極值檢測
為了尋找尺度空間的極值點,每個像素點要和其圖像域(同一尺度空間)和尺度域(相鄰的尺度空間)的所有相鄰點進行比較,當其大于(或者小于)所有相鄰點時,該點就是極值點。如下圖所示,中間的檢測點要和其所在圖像的33鄰域8個像素點,以及其相鄰的上下兩層33鄰域18個像素點,共26個像素點進行比較。

1.5關(guān)鍵點的精確定位
這些候選關(guān)鍵點是DoG空間的局部極值點,而且這些極值點均為離散的點,精確定位極值點的一種方法是對尺度空間DoG函數(shù)進行曲線擬合,計算其極值點,從而實現(xiàn)關(guān)鍵點的精確定位。

1.6消除邊界響應

1.7特征點的主方向

1.8生成特征描述



OpenCV SIFT函數(shù)
import cv2 #opencv 讀取進來為BGR格式
import matplotlib.pyplot as plt
import numpy as np
#一個魔法指令,不需要采用plt.show()顯示圖像
%matplotlib inline
print(cv2.__version__) # 3.4.1.15 pip install opencv-python ==3.4.1.15 pip install opencv-contrib-python==3.4.1.15
def cv_show(name,img):
cv2.imshow(name,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img = cv2.imread('images/test2.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv_show('gray',gray)
#得到特征點
sift = cv2.xfeatures2d.SIFT_create()
kp = sift.detect(gray,None)
img = cv2.drawKeypoints(gray,kp,img)
cv_show('keyPoint',img)
# 計算特征
kp, des = sift.compute(gray, kp)
print(np.array(kp).shape)
print(des.shape)
print(des[0])
以上就是Python計算機視覺SIFT尺度不變的圖像特征變換的詳細內(nèi)容,更多關(guān)于Python SIFT尺度不變圖像特征變的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python實現(xiàn)正整數(shù)分解質(zhì)因數(shù)操作示例
這篇文章主要介紹了Python實現(xiàn)正整數(shù)分解質(zhì)因數(shù)操作,結(jié)合實例形式分析了Python循環(huán)與遞歸兩種操作方法實現(xiàn)分解質(zhì)因數(shù)功能的相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
Python+matplotlib+numpy繪制精美的條形統(tǒng)計圖
這篇文章主要介紹了Python+matplotlib+numpy繪制精美的條形統(tǒng)計圖,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
Python3與redis交互,保存的是字符串,取出來是bytes類型問題
這篇文章主要介紹了Python3與redis交互,保存的是字符串,取出來是bytes類型問題,具有很好的參考價值,希望對大家有所幫助,2023-09-09
基于Python實現(xiàn)視頻轉(zhuǎn)字符畫動漫小工具
大家都知道視頻就是一幀一幀的圖片構(gòu)成的。那么想要實現(xiàn)將視頻轉(zhuǎn)換為字符畫,就要將一部視頻全部逐幀拆解成圖片,然后采取和以前相同的將圖片轉(zhuǎn)換為字符畫的算法即可。本文將詳細為大家介紹如何實現(xiàn),需要的可以參考一下2021-12-12
快速排序的算法思想及Python版快速排序的實現(xiàn)示例
快速排序算法來源于分治法的思想策略,這里我們將來為大家簡單解析一下快速排序的算法思想及Python版快速排序的實現(xiàn)示例:2016-07-07
使用numpngw和matplotlib生成png動畫的示例代碼
這篇文章主要介紹了使用numpngw和matplotlib生成png動畫的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01
TensorFlow實現(xiàn)指數(shù)衰減學習率的方法
這篇文章主要介紹了TensorFlow實現(xiàn)指數(shù)衰減學習率的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02

