/
text_extract.py
77 lines (70 loc) · 2.03 KB
/
text_extract.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import os
from PIL import Image
from sys import argv
def textExtract(im):
xdim,ydim = im.size
out = Image.new("RGBA",im.size)
yt=ydim
yb=0
xl=xdim
xr=0
for i in range(xdim):
for j in range(ydim):
pixel = im.getpixel((i,j))
if(type(pixel)!=type(1) and len(pixel)>=3):
if(not(pixel[0]>60 and pixel[1]>60 and pixel[2]>60)):
out.putpixel((i,j),(pixel[0],pixel[1],pixel[2],255))
yt=min(yt,j)
yb=max(yb,j)
xl=min(xl,i)
xr=max(xr,i)
else:
out.putpixel((i,j),(255,255,255,255))
else:
if(pixel<80):
out.putpixel((i,j),(pixel,pixel,pixel,255))
yt=min(yt,j)
yb=max(yb,j)
xl=min(xl,i)
xr=max(xr,i)
else:
out.putpixel((i,j),(255,255,255,255))
out=out.crop((xl,yt,xr,yb))
xdim,ydim = out.size
try:
out=out.resize((int((xdim/ydim)*150),150))
except:
print(xdim,ydim)
return out
def make_pf(source,target):
curfolder=os.curdir()
src_folder = source;
tar_folder = target;
if(not(src_folder.endswith("/"))):
src_folder+='/'
dic={}
lst = os.listdir(src_folder)
for item in lst:
if(item!="Blank.jpg"):
im = Image.open(src_folder+item,"r")
xdim,ydim = im.size
try:
im=im.resize((int((xdim/ydim)*150),150))
item = item.replace(".jpg","")
item = item.replace(".png","")
dic[item]=textExtract(im)
except:
pass
try:
os.chdir("profiles")
except:
os.mkdir("profiles")
os.chdir("profiles")
try:
os.chdir(tar_folder)
except:
os.mkdir(tar_folder)
os.chdir(tar_folder)
for key in dic:
dic[key].save(key+".png");
os.chdir(curfolder)