def onPreview(self): f=open(self.compare_url.get(),'r') g=open(self.output_url.get(),'w') img=cv2.imread(self.source_url.get(),0) if(img==None): print url+' does\'nt exist' exit() img = pp.preprocess(img) im,rot = pp.skew_correction(img) line = pp.find_lines(im.copy()) # print len(linene) label_list=it.train.label_unicode() q=f.readlines() i=0 num=[] for l in line: for w in l.word_list: for c in w.char_list: tup=label_list[int(c.label)] if(q[i][:-1]!=tup): tup=q[i][:-1] g.write(tup) i+=1 g.write(' ') g.write('\n') f.close() g.close() self.draw_frame3()
def onPreview(self): f = open(self.compare_url.get(), 'r') g = open(self.output_url.get(), 'w') img = cv2.imread(self.source_url.get(), 0) if (img == None): print url + ' does\'nt exist' exit() img = pp.preprocess(img) im, rot = pp.skew_correction(img) line = pp.find_lines(im.copy()) # print len(linene) label_list = it.train.label_unicode() q = f.readlines() i = 0 num = [] for l in line: for w in l.word_list: for c in w.char_list: tup = label_list[int(c.label)] if (q[i][:-1] != tup): tup = q[i][:-1] g.write(tup) i += 1 g.write(' ') g.write('\n') f.close() g.close() self.draw_frame3()
def make_modified_file(): f=open('./compare_list.txt','r') g=open('./output_file.txt','w') img=cv2.imread('./Example/dc_books_page.png',0) if(img==None): print url+' does\'nt exist' exit() img = pp.preprocess(img) im,rot = pp.skew_correction(img) line = pp.find_lines(im.copy()) # print len(linene) label_list=train.label_unicode() q=f.readlines() i=0 num=[] for l in line: for w in l.word_list: for c in w.char_list: # num.append((str(i),label_list[int(c.label)])) tup=label_list[int(c.label)] if(q[i][:-1]!=tup): print tup # f.write(tup+'\n') g.write(tup) # cv2.imwrite('samp/'+str(i)+'.png',c.data) i+=1 g.write(' ') g.write('\n') f.close() g.close()
def make_modified_file(): f = open('./compare_list.txt', 'r') g = open('./output_file.txt', 'w') img = cv2.imread('./Example/dc_books_page.png', 0) if (img == None): print url + ' does\'nt exist' exit() img = pp.preprocess(img) im, rot = pp.skew_correction(img) line = pp.find_lines(im.copy()) # print len(linene) label_list = train.label_unicode() q = f.readlines() i = 0 num = [] for l in line: for w in l.word_list: for c in w.char_list: # num.append((str(i),label_list[int(c.label)])) tup = label_list[int(c.label)] if (q[i][:-1] != tup): print tup # f.write(tup+'\n') g.write(tup) # cv2.imwrite('samp/'+str(i)+'.png',c.data) i += 1 g.write(' ') g.write('\n') f.close() g.close()
def gen_train_sample(im): # train.classifierclassifier.load('svm_class.xml') img = pp.preprocess(im.copy()) img,rot = pp.skew_correction(img) hight,width=im.shape M = cv2.getRotationMatrix2D((hight/2,width/2),rot-90,1) im = cv2.warpAffine(im,M,(width,hight)) cv2.imwrite('skew correct.png',im) contours2, hierarchy = cv2.findContours(img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE) contours = [] for cnt in contours2: # print (cv2.contourArea(cnt)) if(cv2.contourArea(cnt)>20): contours.append(cnt) X = [cv2.contourArea(C) for C in contours] # print len(contours),len(X) t=[i for i in range (0,len(contours))] X,t = zip(*sorted(zip(X,t))) i=0 for j in t: x,y,w,h=cv2.boundingRect(contours[j]) box = im[y-1:y+h+1,x-1:x+w+1] char = pp.preprocess(box.copy()) try: f = train.find_feature(char) fu= train.np.array(f,train.np.float32) # print len(fu) t = train.classifier.predict(fu) print t except IndexError: t = 0 cv2.imwrite('samp/zsamp31_'+str(int(t))+'_'+str(i)+'.png',box) i+=1
# -*- coding: utf-8 -*- """ Created on Thu Sep 17 10:25:26 2015 Project Malayalam OCR - Lekha ----------------------------- Sponsored by ICFOSS contributers : james, jithin """ import cv2 import sys import preprocess as pp import training as train import random url = sys.argv[1] #geting file url from command prompt img=cv2.imread(url,0) if(img.data==None): print url+' does\'nt exist' exit() img = pp.preprocess(img) im=img im,rot = pp.skew_correction(img) # Add Layout analysis here print pp.recognize_block(im)
# -*- coding: utf-8 -*- """ Created on Thu Sep 17 10:25:26 2015 Project Malayalam OCR - Lekha ----------------------------- Sponsored by ICFOSS contributers : james, jithin """ import cv2 import sys import preprocess as pp import training as train import random url = sys.argv[1] #geting file url from command prompt img = cv2.imread(url, 0) if (img.data == None): print url + ' does\'nt exist' exit() img = pp.preprocess(img) im = img im, rot = pp.skew_correction(img) # Add Layout analysis here print pp.recognize_block(im)