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,1; 0.3,pi/2,4,2; 0.3,pi/2,8,2; 0.4,pi/2,4,1; 0.4,pi/2,8,1;]; gb = length(gbVec); sc = length(scVec); vec=[]; nn=1; % Avg for cnl = 1:ncnls for sec = 1:secs pos = maxc(nn); neg = minc(nn); nn=nn+1; ss = (pos-neg)/bins; section = getSection(cnls(:,:,cnl),sec,secs); v = histcounts(section,(0:bins)*ss+neg); v=v/sum(v); vec=cat(2,vec,v); end end % Schmid for i = 1:sc filt = schmidFilter(scVec(i,1),scVec(i,2)); for sec = 1:secs pos = maxc(nn); neg = minc(nn); nn=nn+1; ss = (pos-neg)/bins; section = getSection(hsv(:,:,3),sec,secs); v = histcounts(imfilter(section, filt, 'symmetric'),(0:bins)*ss+neg); v=v/sum(v); vec=cat(2,vec,v); end end % Gabor for i = 1:gb filt = gaborFilter(gbVec(i,1),gbVec(i,2),gbVec(i,3),gbVec(i,4)); for sec = 1:secs pos = maxc(nn); neg = minc(nn); nn=nn+1; ss = (pos-neg)/bins; section = getSection(hsv(:,:,3),sec,secs); v = histcounts(imfilter(section, filt, 'symmetric'),(0:bins)*ss+neg); v=v/sum(v); vec=cat(2,vec,v); end end end