成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

詳解基于python的圖像Gabor變換及特征提取

瀏覽:3日期:2022-07-07 10:02:00
1.前言

在深度學習出來之前,圖像識別領域北有“Gabor幫主”,南有“SIFT慕容小哥”。目前,深度學習技術可以利用CNN網絡和大數據樣本搞事情,從而取替“Gabor幫主”和“SIFT慕容小哥”的江湖地位。但,在沒有大數據和算力支撐的“鄉村小鎮”地帶,或是對付“刁民小輩”,“Gabor幫主”可以大顯身手,具有不可撼動的地位。IT武林中,有基于C++和OpenCV,或是基于matlab的Gabor圖像變換與特征提取源代碼,但大多招數花哨。而基于Python語言的Gabor圖像變換和特征提取卻很少見。本博主在實現基于Python語言的Gabor圖像變換和特征提取中發現其確實比OpenCV或matlab務實,話少人狠,特和大家分享。

2. “Gabor幫主”簡介

“Gabor幫主”最厲害的武器是Gabor濾波器,其最主要使用優勢體現在對物體紋理特征的提取上。Gabor濾波器對于圖像的亮度和對比度變化以及圖像姿態變化具有較強的魯棒性,并且它表達的是對圖像識別最為有用的局部特征,故在計算機視覺及紋理分析領域中得到廣泛的應用。Gabor濾波器可以提取不同方向和不同尺度的上的特征,并且進行隨意組合,變幻莫測。下圖為4個方向(0o,45o,90o,135o)和6個尺度(7,9,11,13,15,17),組合生成的24個Gabor濾波核。

詳解基于python的圖像Gabor變換及特征提取

3.“Gabor幫主”大招之圖像變換

所謂Gabor圖像變換就使用Gabor濾波器對圖像進行濾波操作(相當于CNN中的卷積操作)得到新的圖像。每個濾波核與圖像濾波之后得到:

詳解基于python的圖像Gabor變換及特征提取

其中,λ為波,它的值以像素為單位指定,通常大于等于2。但不能大于輸入圖像尺寸的五分之一;θ為方向,指定了Gabor函數并行條紋的方向,它的取值為0到2π;ϕ為相位偏移,它的取值范圍為−π到π。其中,0、π度分別對應中心對稱的center-on函數和center-off函數,而-π/2和π/2對應反對稱函數;γ為長寬比,空間縱橫比,決定了Gabor函數形狀的橢圓率,當γ=1時,形狀是圓的,當γ<1時,形狀隨著平行條紋方向而拉長,通常該值為0.5;σ表示Gabor函數的高斯因子的標準差,它的值不能直接設置,它僅隨著帶寬b變化,帶寬值必須是正實數,通常為1,此時,標準差和波長的關系為:σ=0.56λ;帶寬(b):Gabor濾波器的半響應空間頻率帶寬:

詳解基于python的圖像Gabor變換及特征提取

x’,y’的值為:

詳解基于python的圖像Gabor變換及特征提取

gabor濾波核是復數形式,因此可以把它分開成實部和虛部:

詳解基于python的圖像Gabor變換及特征提取詳解基于python的圖像Gabor變換及特征提取

弄清以上公式原理后,大家也可以自己嘗試利用Python把Gabor變換實現,源代碼我這里就不貼了,如果大家感興趣,可以參考https://www.jb51.net/article/198212.htm。其實,skimage包中就有封裝好的gabor變換函數,可以直接調用。因此,這里介紹一種簡單偷懶的方式。從skimage中導入filters(from skimage import filters)后,便可調用gabor函數了,其函數說明如下:skimage.filters.gabor(image, frequency, theta=0, bandwidth=1, sigma_x=None, sigma_y=None, n_stds=3, offset=0, mode=‘reflect’, cval=0)1)函數返回:Gabor變換后的實部和虛部real,imag;大小與輸入圖像尺寸相同。2)函數參數:圖像(image):二維數組輸入圖像(灰度圖像);頻率(frequency):浮點諧波函數的空間頻率,控制尺度;

詳解基于python的圖像Gabor變換及特征提取

,在圖像特征提取領域通常取5個不同尺度

詳解基于python的圖像Gabor變換及特征提取

方向(theta):float,可選的弧度方向,如果為0,則諧波處于x方向;

詳解基于python的圖像Gabor變換及特征提取

,在圖像特征提取領域通常取8個不同方向u=[0,1,2,3,4,5,6,7]。帶寬(bandwidth):浮點,可選由過濾器捕獲的帶寬。對于固定帶寬,sigma_x和sigma_y將隨著頻率的增加而降低,如果用戶設置了sigma_x和sigma_y,則該值將被忽略;標準偏差(sigma_x,sigma_y):float,x和y方向上的可選標準偏差;內核的線性大小(n_stds):標量,可選內核的線性大小為n_stds(默認為3)標準偏差;偏移量(offset):浮點數,可選項以弧度表示的諧波函數的相位偏移;模式(mode):{‘constant’,‘near’,‘reflect’,‘mirror’,‘wrap’},可選用于將圖像與內核進行卷積的模式,傳遞給ndi.convolve;cval:標量,可選值如果卷積模式為’不變’,該參數被傳遞給ndi.convolve。3)源代碼如下:

import matplotlib.pyplot as pltfrom skimage import filters,io,colorimport numpy as npfilename=’D:/lena.jpg’img = io.imread(filename)#讀取圖像img_gray = color.rgb2gray(img)#RGB轉灰度frequency=0.6#調用gabor函數real, imag = filters.gabor(img_gray, frequency=0.6,theta=45,n_stds=5)#取模圖像img_mod=np.sqrt(real.astype(float)**2+imag.astype(float)**2)#圖像顯示plt.figure()plt.subplot(2,2,1)plt.imshow(img_gray,cmap=’gray’)plt.subplot(2,2,2)plt.imshow(img_mod,cmap=’gray’)plt.subplot(2,2,3)plt.imshow(real,cmap=’gray’)plt.subplot(2,2,4)plt.imshow(imag,cmap=’gray’)plt.show()

4)運行結果如下:詳解基于python的圖像Gabor變換及特征提取5)注意事項①通過theta參數調不同方向,這里輸入是弧度,不是角度。②通過frequency參數調不同尺度變化。6)利用skimage生成gobor卷積核:gabor_kernelskimage.filters.gabor_kernel(frequency, theta=0, bandwidth=1, sigma_x=None, sigma_y=None, n_stds=3, offset=0)函數返回:返回2D Gabor濾波器內核,包含實部與虛部。參數與skimage.filters.gabor()函數相同。源代碼如下:

import matplotlib.pyplot as pltfrom skimage import filtersgk = filters.gabor_kernel(frequency=0.1,theta=np.pi*30/180.0,n_stds=5)mod=np.sqrt(gk.real.astype(float) ** 2 + gk.imag.astype(float) ** 2)plt.figure()plt.subplot(1,3,1)plt.imshow(gk.real*255,cmap=’gray’)plt.subplot(1,3,2)plt.imshow(gk.imag*255,cmap=’gray’)plt.subplot(1,3,3)plt.imshow(mod*255,cmap=’gray’)plt.show()

運行結果如下:

詳解基于python的圖像Gabor變換及特征提取

注意事項:①參數n_stds=3并不是說濾波核大小為(3,3),濾波核大小由參數frequency、theta、n_stds三個參數共同決定。②gabor_kernel函數返回是帶有實部和虛部的復矩陣。③theta是弧度,不是角度

3.“Gabor幫主”大招之圖像特征提取

Gabor濾波器可以在頻域上不同尺度、不同方向上提取相關的特征。另外,Gabor函數與人眼的作用相仿,所以經常用作紋理識別上,并取得了較好的效果。Gabor特征提取一般包括取模、特征降維、特征歸一化和特征選取等操作:取模:skimage.filters.gabor()函數返回的是圖像變換后的實部和虛部,在圖像識別領域一般使用其模作為圖像特征

詳解基于python的圖像Gabor變換及特征提取

2)特征降維:skimage.filters.gabor()函數返回值大小和原圖像一樣;另外,圖像識別領域一般使用8個方向和5個尺度的gabor濾波器,得到40幅變換圖像;導致提取的圖像特征維度(40幅圖像特征串聯)比較高。因此,需要對取模圖像進行降維處理。最簡單的方法就是對每個模圖像進行下采樣,如使用Opencv中的resize函數cv2.resize(img,(0,0),fx=1/4,fy=1/4)。3)特征歸一化:在機器學習領域中,不同評價指標(即特征向量中的不同特征就是所述的不同評價指標)往往具有不同的量綱和量綱單位,這樣的情況會影響到數據分析的結果,為了消除指標之間的量綱影響,需要進行數據標準化處理,以解決數據指標之間的可比性。原始數據經過數據標準化處理后,各指標處于同一數量級,適合進行綜合對比評價。其中,最典型的就是數據的歸一化處理。簡而言之,歸一化的目的就是使得預處理的數據被限定在一定的范圍內。本博主介紹一種Z-score標準化方法:當一化公式:

詳解基于python的圖像Gabor變換及特征提取

其中μ為所有樣本數據的均值,σ為所有樣本數據的標準差。b)本方法要求原始數據的分布可以近似為高斯分布,否則歸一化的效果會變得很糟糕;c)應用場景:在分類、聚類算法中,需要使用距離來度量相似性的時候、或者使用PCA技術進行降維的時候,Z-score standardization表現更好。4)特征選取經過以上三步后,可以將各模圖像特征串聯起來作為輸入圖像的特征向量。但此時得到的特征向量存在大量冗余,最好再進行一次特征降維(特征選取)操作。可以采用PCA或Fisher等線性子空間分析方法。5)源代碼:

import cv2import numpy as npfrom skimage import filtersfilename=’D:/lena.jpg’img = cv2.imread(filename)#讀圖像img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#轉灰度frequency=0.6#gabor變換real, imag = filters.gabor(img_gray, frequency=0.6,theta=45,n_stds=5)#取模img_mod=np.sqrt(real.astype(float)**2+imag.astype(float)**2)#圖像縮放(下采樣)newimg = cv2.resize(img_mod,(0,0),fx=1/4,fy=1/4,interpolation=cv2.INTER_AREA)tempfea = newimg.flatten()#矩陣展平tmean = np.mean(tempfea)#求均值tstd = np.std(tempfea)#求方差newfea = (tempfea - tmean)/tstd#數值歸一化print(newfea)

夜已深,公司都沒有一個人了,空蕩蕩的。先寫到這里吧,第一次在CSDN上發博文,有不到之處請指正,如果您覺得還有點用,請點個贊以支鼓勵,不勝感激!!!!

到此這篇關于詳解基于python的圖像Gabor變換及特征提取的文章就介紹到這了,更多相關python Gabor變換及特征提取內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产成人无遮挡在线视频| 亚洲影音一区| 先锋影音国产一区| 国产精品成人在线观看| 99久久伊人久久99| 日韩一区二区免费电影| 国产在线一区二区综合免费视频| 亚洲少妇诱惑| 综合久久国产九一剧情麻豆| 欧美色123| 日本一区二区在线不卡| 99久久精品免费看国产| 日韩美一区二区三区| 国产高清无密码一区二区三区| 欧美在线免费视屏| 蜜桃一区二区三区在线观看| 久久人人97超碰国产公开结果| 亚洲国产wwwccc36天堂| 亚洲欧美精品| 亚洲自拍偷拍欧美| 亚洲一区二区毛片| 亚洲综合在线五月| 亚洲免费久久| 一片黄亚洲嫩模| 久久国产精品亚洲77777| 亚洲大片一区二区三区| 欧美专区在线| 视频一区欧美精品| 色婷婷久久一区二区三区麻豆| 日韩极品在线观看| 91黄色激情网站| 国产综合久久久久影院| 欧美一级艳片视频免费观看| 成人免费视频app| 久久久噜噜噜久久中文字幕色伊伊| 色综合天天综合色综合av | 中文字幕av一区二区三区| 韩日欧美一区| 亚洲综合一区二区三区| 色伊人久久综合中文字幕| 国内精品嫩模私拍在线| 精品成人私密视频| 亚洲国产合集| 肉色丝袜一区二区| 欧美人xxxx| 99视频有精品| 中文字幕一区二| 亚洲欧美网站| 九色综合狠狠综合久久| 欧美xxxxxxxx| 北岛玲一区二区三区四区| 国产精品伦理在线| 久久精品二区三区| 国产精品亚洲人在线观看| 久久婷婷综合激情| 亚洲国产精品综合| 日韩国产精品91| 日韩久久精品一区| 激情欧美一区| 午夜精品一区二区三区电影天堂| 欧美精品xxxxbbbb| 欧美暴力喷水在线| 一区二区在线免费| 欧美天堂亚洲电影院在线播放| 成人黄色网址在线观看| 国产精品久久久久久久久动漫| 日韩图片一区| 麻豆精品一二三| 久久亚洲综合色| 一区二区三区精品国产| 久久99精品一区二区三区 | 老牛国产精品一区的观看方式| 国产传媒久久文化传媒| 国产精品视频在线看| 免费亚洲视频| 国产成人aaa| 亚洲欧美日本在线| 欧美视频在线播放| 色综合天天在线| 日韩一区精品字幕| 日韩免费看的电影| 国产一区二区你懂的| 国产又粗又猛又爽又黄91精品| 久久久久成人黄色影片| 国产日韩一区欧美| 国产成人一级电影| 一区二区在线观看不卡| 91精品啪在线观看国产60岁| 亚洲五月婷婷| 久久97超碰色| 国产精品久久午夜夜伦鲁鲁| 色94色欧美sute亚洲线路一久| 99久久精品免费| 亚洲一二三四在线| 欧美成人国产一区二区| 亚洲精品久久| 国产ts人妖一区二区| 一区二区三区波多野结衣在线观看| 欧美一区二区在线不卡| 亚洲免费观看| 东方aⅴ免费观看久久av| 亚洲一二三区在线观看| www国产精品av| 色综合久久久久网| 欧美日韩亚洲一区在线观看| 久久成人久久爱| 亚洲男人的天堂一区二区| 日韩欧美精品在线视频| 香蕉久久a毛片| 欧美影视一区| 久久精品国产99国产精品| 亚洲天堂网中文字| 在线成人小视频| 国产精品一区免费观看| 99re8在线精品视频免费播放| 日本va欧美va欧美va精品| 国产精品成人网| 日韩一区二区三区视频在线 | 欧美电视剧在线观看完整版| 久久先锋影音| 亚洲大黄网站| 99re这里只有精品视频首页| 青青草97国产精品免费观看无弹窗版 | 性欧美videos另类喷潮| 91麻豆福利精品推荐| 国产真实乱子伦精品视频| 亚洲一区二区高清| 中文字幕一区二区三区乱码在线| 狂野欧美一区| 欧美日韩中文| 国产91清纯白嫩初高中在线观看| 五月天激情综合网| 中文字幕永久在线不卡| 精品国产乱码久久久久久久久| 91黄视频在线观看| 夜久久久久久| 欧美天天视频| 不卡的电视剧免费网站有什么| 久久精品国产澳门| 亚洲大型综合色站| 亚洲精品中文在线观看| 国产亚洲欧美日韩日本| 91精品国产入口| 日本久久一区二区| 在线观看成人一级片| 99re热视频这里只精品| 国产精品一卡二卡在线观看| 丝袜脚交一区二区| 亚洲人精品一区| 久久精品一区二区三区四区| 在线成人av网站| 欧美专区在线观看一区| 久久久精品五月天| 国产精品日韩欧美一区二区| 激情欧美亚洲| 国产精品对白刺激久久久| k8久久久一区二区三区| 国产成人在线观看| 国产精品18久久久久久久网站| 麻豆一区二区三区| 日韩电影在线免费观看| 亚洲第一精品在线| 亚洲福利视频一区二区| 亚洲精品v日韩精品| 中文字幕国产一区二区| 亚洲精品在线网站| 亚洲精品一区二区三区四区高清| 日韩一区二区三区免费观看| 777亚洲妇女| 91麻豆精品国产91久久久久久久久 | 亚洲视频在线一区观看| 国产精品久久久久aaaa| 国产精品欧美久久久久无广告 | 精品奇米国产一区二区三区| 这里只有精品免费| 69av一区二区三区| 91精品国产91久久久久久最新毛片| 欧美日韩亚洲国产综合| 欧美伊人久久大香线蕉综合69 | 国产精品免费久久久久| 中文字幕乱码亚洲精品一区 | 国产精品久久久久久久第一福利| 国产精品久久久久久久午夜片| 久久久久久久久久久久久久久99| 日韩三级视频在线看| 日韩手机在线导航| 亚洲精品在线三区| 久久久久国产精品免费免费搜索| 久久久久久一二三区| 欧美激情中文不卡| 中文字幕人成不卡一区| 亚洲免费在线视频| 亚洲最大成人网4388xx| 亚洲福利国产精品| 日韩av二区在线播放| 精品亚洲国内自在自线福利| 国产乱码精品一区二区三区五月婷 | 理论片日本一区| 精品一区二区三区在线播放视频| 国内精品伊人久久久久av影院|