% author: M.M.Haji % email : mehdi.haji@gmail.com % % generate training data for the text concept. % if the window contains text, then target is 1 % otherwise the target is 0. clear kernel_w = 8; % width of kernel (window) kernel_h = 8; % height of kernel (window) dct18_coefs = [4 5 6 12 13 14 20 21 22 44 45 46 52 53 54 60 61 62]; fid = fopen('textdata.txt','w'); tr_images = { 'newcnn512x512.jpg', 'image048.jpg', 'shapes.jpg', 'npaper01.JPG', 'a01-003.jpg'}; % 'image031.jpg' % 'text-graphics.JPG' % write [0 0 0 0 ... 0] as the first training data: for i4 = 1:18 fprintf(fid,'%f ',0); end fprintf(fid,'%d\r\n',0); for i3 = 1:length(tr_images) fname = tr_images{i3}; disp(fname); I = imread(fname); M = imread(strcat(fname(1:find(fname=='.')-1),'_mask.bmp')); if ndims(I) == 3 I = rgb2gray(I); end [nr nc] = size(I); % NR = ceil(nr/kernel_h) * kernel_h; % NC = ceil(nc/kernel_w) * kernel_h; % I = padarray(I,[NR-nr NC-nc],0,'post'); % M = padarray(M,[NR-nr NC-nc],0,'post'); for i1 = 1:kernel_h/2:nr-kernel_h for i2 = 1:kernel_w/2:nc-kernel_w J = I(i1:i1+kernel_h-1, i2:i2+kernel_w-1); % imshow(J); J = dct2(J); J = J'; J = J(:); if any(J(dct18_coefs(1:18))) for i4 = 1:18 fprintf(fid,'%f ',J(dct18_coefs(i4))); end if sum(sum(M(i1:i1+kernel_h-1, i2:i2+kernel_w-1))) >= (kernel_h*kernel_w/2) fprintf(fid,'%d\r\n',1); else fprintf(fid,'%d\r\n',0); end end end end end fclose(fid); % [str, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, target] = textread('textdata.txt','%s %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %d;');