diff options
Diffstat (limited to 'genFeatureVec.m')
-rw-r--r-- | genFeatureVec.m | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/genFeatureVec.m b/genFeatureVec.m index 7690f25..0b227fa 100644 --- a/genFeatureVec.m +++ b/genFeatureVec.m @@ -1,4 +1,4 @@ -function vec = genFeatureVec(img) +function vec = genFeatureVec(img,minc,maxc) bins = 16; ncnls = 8; secs = 6; @@ -8,7 +8,7 @@ function vec = genFeatureVec(img) hsv = rgb2hsv(img); cnls(:,:,7:8) = hsv(:,:,1:2); for i=1:ncnls - cnls(:,:,i) = imgeq(cnls(:,:,i)); + cnls(:,:,i) = histeq(cnls(:,:,i)); end % Schmid scVec=[ @@ -37,12 +37,14 @@ function vec = genFeatureVec(img) gb = length(gbVec); sc = length(scVec); vec=[]; + nn=1; for i = 1:sc for cnl = 1:ncnls for sec = 1:secs filt = schmidFilter(scVec(i,1),scVec(i,2)); - pos = sum(sum(filt.*(filt>0))); - neg = sum(sum(filt.*(filt<0))); + pos = maxc(nn); + neg = minc(nn); + nn=nn+1; ss = (pos-neg)/bins; section = getSection(cnls(:,:,cnl),sec,secs); v = histcounts(imfilter(section, filt, 'symmetric'),(0:bins)*ss+neg); @@ -54,8 +56,9 @@ function vec = genFeatureVec(img) for cnl = 1:ncnls for sec = 1:secs filt = gaborFilter(gbVec(i,1),gbVec(i,2),gbVec(i,3),gbVec(i,4)); - pos = sum(sum(filt.*(filt>0))); - neg = sum(sum(filt.*(filt<0))); + pos = maxc(nn); + neg = minc(nn); + nn=nn+1; ss = (pos-neg)/bins; section = getSection(cnls(:,:,cnl),sec,secs); v = histcounts(imfilter(section, filt, 'symmetric'),(0:bins)*ss+neg); @@ -65,10 +68,3 @@ function vec = genFeatureVec(img) end end -function [sec] = getSection(inp,a,b) - [m,n] = size(inp); - ste = (m-1)/b; - st=1+ceil(ste*(a-1)); - ed=1+floor(ste*a); - sec = inp(st:ed,:); -end
\ No newline at end of file |