import os
from PIL import Image
from PIL import ImageDraw
im=Image.open("124.JPG")
im0=im.crop((105,28,746,583))
print im0.size
draw = ImageDraw.Draw(im0)
posx=[]
markx=0
posy=[]
marky=0
for i in xrange(0, im0.size[0]):
mark=0
for j in xrange(0, im0.size[1]):
if im0.getpixel((i,j))[0]+im0.getpixel((i,j))[1]+im0.getpixel((i,j))[2]<200:
mark+=1
if mark<=5:
if(markx==1):
posx.append(i)
markx=0
else:
if(markx==0):
posx.append(i)
markx=1
# draw.line((i,0,i,im0.size[1]),fill=0)
for j in xrange(0, im0.size[1]):
mark=0
for i in xrange(0, im0.size[0]):
if im0.getpixel((i,j))[0]+im0.getpixel((i,j))[1]+im0.getpixel((i,j))[2]<200:
mark+=1
if mark<=5:
if(marky==1):
posy.append(j)
marky=0
else:
if(marky==0):
posy.append(j)
marky=1
if 0:
for i in posx:
draw.line((i,0,i,im0.size[1]),fill=128)
for i in posy:
draw.line((0,i,im0.size[0],i),fill=128)
sig=[]
sigtmp=0
sigmap={}
for px in xrange(0, len(posx), 2):
for py in xrange(0, len(posy), 2):
imtmp=im0.crop((posx[px],posy[py],posx[px+1],posy[py+1]))
sigtmp=0
sig=[]
for tx in xrange(0, imtmp.size[0]):
for ty in xrange(0, imtmp.size[1]):
if imtmp.getpixel((tx,ty))[0]<100:
sigtmp=sigtmp*2+1
if(sigtmp>1024*1024*1024):
sig.append(sigtmp)
sigtmp=0
else:
sigtmp=sigtmp*2
if(sigtmp>1024*1024*1024):
sig.append(sigtmp)
sigtmp=0
sig.append(sigtmp)
sigtmp=0
for v in sig:
sigtmp+=v
if sigtmp not in sigmap:
imtmp.show()
k=raw_input("val:")
sigmap[sigtmp]=k
for py in xrange(0, len(posy), 2):
print
for px in xrange(0, len(posx), 2):
imtmp=im0.crop((posx[px],posy[py],posx[px+1],posy[py+1]))
sigtmp=0
sig=[]
for tx in xrange(0, imtmp.size[0]):
for ty in xrange(0, imtmp.size[1]):
if imtmp.getpixel((tx,ty))[0]<100:
sigtmp=sigtmp*2+1
if(sigtmp>1024*1024*1024):
sig.append(sigtmp)
sigtmp=0
else:
sigtmp=sigtmp*2
if(sigtmp>1024*1024*1024):
sig.append(sigtmp)
sigtmp=0
sig.append(sigtmp)
sigtmp=0
for v in sig:
sigtmp+=v
print sigmap[sigtmp],
if (px+2)%4 == 0: print " ",
del draw
raw_input("any key to exit...")
#for j in xrange(0, im0.size[j]):
#getpixel()
图片ocr(光学字符识别) 仅包含16进制字符的源代码
最新推荐文章于 2023-06-25 14:36:23 发布