گابور ڇاڻِي
تعارف
[سنواريو]گابور ڇاڻِي (Gabor Filter) ٻِه رُخِي ڇاڻِي آهي، جيڪا عڪس پراسيسڪاريءَ ۾ عام استعمال ٿيندي آهي. اها دراصل ٻِه رُخي گاسِي ڪاڄ ۽ ڪوسائين لهر جِي ضرب اُپت آهي.
مصرف
[سنواريو]گابور ڇاڻيءَ ذريعي ڪنهن عڪس جي نمائندگي اهڙين سائيني لهرن سان ڪئي ويندي آهي، جيڪي گاسي دريءَ سان ماڊيوليل هونديون آهن. عڪس جي اهڙي نمائندگي Pattern Recognition يا Texture Recognition ۾ ڪثرت سان استعمال ٿي ٿي. عڪس کي گابور ڇاڻيءَ مان گذارڻ ايئن ئي آهي جيئن عڪس تي مقامي فوريئر ٽرانسفارم لڳائڻ.
گابور ڇاڻِيءَ جو ميٽليب پروگرام
[سنواريو]%هيءُ پرگرام عملاَ گابور ڇاڻِي جوڙي ٿو:
%1. dim = ڇاڻِيءَ جي سائيز
%2. mx = اُفَقي وِچُ
%3. my = اُمودِي وِچُ
%4. sx = اُفقِي معيارِي ڊويئيشن
%5. sy = اُمُودِي معيارِي ڊويئيشن
%6. fo = ڪثرتَ (لهرُون فِي گابور ڇاڻِي)
%7. teta= ڪُنڊَ
%8. phi = فيز
function fg = gabor(dim,mx,my,sx,sy,fo,teta,phi)
if nargin == 0
dim=33 ;mx=dim/2 ;my=dim/2 ;sx=4;sy=2 ;fo=4 ;teta=135 ;phi=0 ;
end
teta=pi*teta/180 ;
x=0:dim-1 ;
y=0:dim-1 ;
sx = 2*sx*sx ;
sy = 2*sy*sy ;
ex=exp(-(x-mx).^2/sx) ;
ey=exp(-(y-my).^2/sy) ;
%plot(x,ex,'r',y,ey,'b'),pause
g=ey'*ex ;
ax=ones(size(x)); ay=ones(size(y));
x=ay'*(x*cos(teta)) ; y=ax'*(y*sin(teta)) ;
h=sin(2*pi*fo*(x-y')/dim + phi);
fg=g.*h ; % Filtre de Gabor
if nargout == 0
gris=[0:255;0:255;0:255]'/255;
mg=min(min(g)); Mg=max(max(g));
mh=min(min(h)); Mh=max(max(h)); fmg=min(min(fg)); fMg=max(max(fg)) ; subplot(221),image(round(255*(g-mg)/(Mg-mg)));colormap(gris) subplot(222),image(round(255*(h-mh)/(Mh-mh)));colormap(gris) subplot(223),image(round(255*(fg-mg)/(fMg-fmg)));colormap(gris) end