資源簡介
使用matlab寫的gabor濾波器,由于好多沒有實例,所以我附帶了測試文件
代碼片段和文件信息
function?[GaborReal?GaborImg]?=?MakeGaborKernal(GaborH?GaborW?U?V?Kmaxfsigma?)
%?function?[GaborReal?GaborImg]?=?MakeGaborKernal[GaborH?GaborW?U?V]
%?用以生成?Gabor?核
%?GaborReal:?核實部?GaborImg:?虛部
%?GaborHGaborW:?Gabor窗口?高寬.
%?UV:?方向?大小
%????????????||Kuv||^2
%?G(Z)?=?----------------?exp(-||Kuv||^2?*?Z^2)/(2*sigma*sigma)(exp(i*Kuv*Z)-exp(-sigma*sigma/2))
%??????????sigma*sigma
HarfH?=?fix(GaborH/2);
HarfW?=?fix(GaborW/2);
Qu?=?pi*U/8;
sqsigma?=?sigma*sigma;
%?Kv?=?2.5*pi*(2^(-(V+2)/2));
Kv?=?Kmax/(f^V);
?
postmean?=?exp(-sqsigma/2);
for?j?=?-HarfH?:?HarfH
????for?i?=??-HarfW?:?HarfW
??????
????????tmp1?=?exp(-(Kv*Kv*(j*j+i*i)/(2*sqsigma)));
????????tmp2?=?cos(Kv*cos(Qu)*i+Kv*sin(Qu)*j)?-?postmean;
??%??????tmp3?=?sin(Kv*cos(Qu)*i+Kv*sin(Qu)*j)?-?exp(-sqsigma/2);
????????tmp3?=?sin(Kv*cos(Qu)*i+Kv*sin(Qu)*j);
???????
????????GaborReal(j+HarfH+1?i+HarfW+1)?=?Kv*Kv*tmp1*tmp2/sqsigma;
????????GaborImg(j+HarfH+1?i+HarfW+1)?=?Kv*Kv*tmp1*tmp3/sqsigma;
????end
end
評論
共有 條評論