學習OpenCV Gabor函式的應用

2021-09-30 12:00:03 字數 1273 閱讀 7605

原文:

注:在我的資源中有改進過的cvgabor類

相關鏈結為:

特別注意:使用該類需要opencv庫的支援,如何配置環境參見:

它有如下的功能:

生成特定方向和尺度的gabor

生成可以顯示或者儲存的gabor核的實部,虛部

影象的實部,虛部或者主要(magnitude)響應

響應可以儲存在xml檔案中

[cpp]view plain

copy

print?

#include "cvgabor.h"

intmain()  

概念:1.關於小波變換: 

一種多解析度分析工具,為不同尺度上訊號的的分析和表徵提供了精確和統一框架。它的原理是**於fourier變換!但是它比傳統的fourier變換有更多優點,比如: 

1)小波變換可以覆蓋整個頻域; 

2)可以通過選取合適濾波器,減少或除去提取的不同特徵之間的相關性; 

3)具有變焦特性,低頻段可用高頻率解析度和低時間解析度,在高頻段可用低頻率解析度和高時間解析度 

4)小波變換在實現上有快速演算法(mallat小波分析演算法)。 

提到小波變換必須提到小波函式,簡單的說,積分為0的函式都可以作為小波函式,還可以通過一系列變化得到連續的小波變換式。 

小波變換適用小波函式族及其相應的尺度函式將原始訊號分解成不同的頻帶。一般所說的小波變換僅遞迴分解訊號的低頻部分,以生成下一尺度的各頻道輸出。層層分解(不附了),這樣的分解通常稱為金字塔結構小波變換。 

如果不僅僅對低通濾波器輸出進行遞迴分解,而且也對高通濾波器的輸出進行遞迴分解,則稱之為小波包分解。(樹狀的圖形) 

小波變換具有良好的時頻區域性化、尺度變換和方向特徵,是分析紋理的有力工具。 

2.gabor 變換 

根據模擬人類視覺系統而產生。通過模擬人類視覺系統,可以將視網膜成像分解成一組濾波影象,每個分解的影象能夠反映頻率和方向在區域性範圍內的強度變化。通過一組多通道gabor濾波器,可以獲得紋理特徵。 

gabor變換的根本就是gabor濾波器的設計,而濾波器的設計又是其頻率函式(u,v)和gauss函式引數(乙個)的設計。實際上,gabor變換是為了提取訊號fourier變換的區域性資訊,使用了乙個gauss函式作為窗函式,因為乙個gauss函式的fourier變換還是乙個gauss函 數,所以fourier逆變換也是區域性的。 

通過頻率引數和高斯函式引數的選取,gabor變換可以選取很多紋理特徵,但是gabor是非正交的,不同特徵分量之間有冗餘,所以在對紋理影象的分析中效率不太高。

學習js函式 函式定義

函式的定義方法有三種 1.函式表示式 2.函式宣告 3,new function建構函式 這邊主要看下函式表示式和函式宣告 函式表示式 未省略標誌的 var alertname function namealert name alertname 博主 函式表示式 省略標誌的 var alertnam...

學習system函式

system pclose 或者 waitpid 的返回值不象是我程序的退出值 exit value 譯者注 退出值指呼叫exit 或 exit 時給的引數 或者退出值左移了8 位.這是怎麼搞的?手冊頁是對的,你也是對的 如果查閱手冊頁的 waitpid 你會發現程序的返回值被編碼了。正常情況下,程...

C學習 函式(?)

question return是乙個什麼機制,怎麼返回?函式的返回值又是怎麼確定,怎麼傳遞,存放在哪個位置?在c中如果定義函式時沒有指定返回值型別,則預設是int型 空函式 可以先定義,將來再擴充套件 關於形參與實參 a 定義時形參沒有儲存單元,只有在呼叫時,才分配記憶體單元,呼叫結束後,形參所佔記...