function vec = genFeatureVec(img,minc,maxc) bins = 16; ncnls = 8; secs = 6; cnls = zeros(size(img,1), size(img,2),ncnls); cnls(:,:,1:3) = img; cnls(:,:,4:6) = rgb2ycbcr(img); hsv = rgb2hsv(img); cnls(:,:,7:8) = hsv(:,:,1:2); for i=1:ncnls cnls(:,:,i) = histeq(cnls(:,:,i)); end % Schmid scVec=[ 1,2; 1,4; 2,4; 1,6; 2,6; 3,6; 1,8; 2,8; 3,8; 1,10; 2,10; 3,10; 4,10]; gbVec = [ 0.3,0,4,2; 0.3,0,8,2; 0.4,0,4,1; 0.4,0,8,2; 0.3,pi/2,4,2; 0.3,pi/2,8,2; 0.4,pi/2,4,1; 0.4,pi/2,8,2;]; 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 = 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); vec=cat(2,vec,v); end end end for i = 1:gb for cnl = 1:ncnls for sec = 1:secs filt = gaborFilter(gbVec(i,1),gbVec(i,2),gbVec(i,3),gbVec(i,4)); 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); vec=cat(2,vec,v); end end end end