summaryrefslogtreecommitdiff
path: root/genFeatureVec.m
diff options
context:
space:
mode:
authorJoe Zhao <ztuowen@gmail.com>2015-05-12 14:23:24 +0800
committerJoe Zhao <ztuowen@gmail.com>2015-05-12 14:23:24 +0800
commitd0a72f92977baebaed915fbb2d14f2d5ddec8306 (patch)
tree3f677e79883ca2b8c1a4c811b110c48827e78266 /genFeatureVec.m
parent34de475999a22ac7280411e15339e77a0c8dbc2e (diff)
downloadfeatext-d0a72f92977baebaed915fbb2d14f2d5ddec8306.tar.gz
featext-d0a72f92977baebaed915fbb2d14f2d5ddec8306.tar.bz2
featext-d0a72f92977baebaed915fbb2d14f2d5ddec8306.zip
misc
Diffstat (limited to 'genFeatureVec.m')
-rw-r--r--genFeatureVec.m42
1 files changed, 29 insertions, 13 deletions
diff --git a/genFeatureVec.m b/genFeatureVec.m
index 75fa0e8..4ac8ec8 100644
--- a/genFeatureVec.m
+++ b/genFeatureVec.m
@@ -1,6 +1,7 @@
function vec = genFeatureVec(img)
bins = 16;
ncnls = 8;
+ secs = 6;
cnls = zeros(size(img,1), size(img,2),ncnls);
cnls(:,:,1:3) = img;
cnls(:,:,4:6) = rgb2ycbcr(img);
@@ -35,21 +36,36 @@ function vec = genFeatureVec(img)
vec=[];
for i = 1:sc
for cnl = 1:ncnls
- filt = schmidFilter(scVec(i,1),scVec(i,2));
- pos = real(sum(sum(filt.*(filt>0))));
- neg = real(sum(sum(filt.*(filt<0))));
- ss = (pos-neg)/bins;
- v = histcounts(imfilter(cnls(:,:,cnl), filt, 'symmetric'),(0:bins)*ss+neg);
- vec=cat(2,vec,v);
+ for sec = 1:secs
+ filt = schmidFilter(scVec(i,1),scVec(i,2));
+ pos = real(sum(sum(filt.*(filt>0))));
+ neg = real(sum(sum(filt.*(filt<0))));
+ 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
- filt = gaborFilter(gbVec(i,1),gbVec(i,2),gbVec(i,3),gbVec(i,4));
- pos = real(sum(sum(filt.*(filt>0))));
- neg = real(sum(sum(filt.*(filt<0))));
- ss = (pos-neg)/bins;
- v = histcounts(real(imfilter(cnls(:,:,cnl), filt, 'symmetric')),(0:bins)*ss+neg);
- vec=cat(2,vec,v);
+ for sec = 1:secs
+ filt = gaborFilter(gbVec(i,1),gbVec(i,2),gbVec(i,3),gbVec(i,4));
+ pos = real(sum(sum(filt.*(filt>0))));
+ neg = real(sum(sum(filt.*(filt<0))));
+ ss = (pos-neg)/bins;
+ section = getSection(cnls(:,:,cnl),sec,secs);
+ v = histcounts(real(imfilter(section, filt, 'symmetric')),(0:bins)*ss+neg);
+ vec=cat(2,vec,v);
+ end
end
- end \ No newline at end of file
+ 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