欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python計算機視覺SIFT尺度不變的圖像特征變換

 更新時間:2022年05月23日 10:30:18   作者:今年的浙江省狀元  
這篇文章主要為大家介紹了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)文章

最新評論