コード例 #1
0
ファイル: application.py プロジェクト: holyox/lekha_OCR_1.0
	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()
コード例 #2
0
    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()
コード例 #3
0
ファイル: initial_temp.py プロジェクト: holyox/lekha_OCR_1.0
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()
コード例 #4
0
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()
コード例 #5
0
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
コード例 #6
0
ファイル: main.py プロジェクト: holyox/lekha_OCR_1.0
# -*- 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)
コード例 #7
0
# -*- 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)