python放大图片和画方格实现算法
本文实例为大家分享了python放大图片和画方格的具体代码,供大家参考,具体内容如下
1、Python放大图片和画方格算法
#!C:/Python27
#-*-coding:utf-8-*-
importos
importsys
fromPILimportImage,ImageDraw
defmake_doc_data(lf):
#li,ri=make_regalur_image(Image.open(lf)),make_regalur_image(Image.open(rf))#两张图片方法
li=Image.open(lf)
size=(256,256)
#几何转变,全部转化为256*256像素大小
li=li.resize(size).convert('RGB')
li.save(lf+'_regalur.png')#转换图片格式:img.save('file.jpg'),保存临时的
#ri.save(rf+'_regalur.png')#img对象到硬盘
fd=open('stat.csv','w')#stat模块是做随机变量统计的,stat用来计算随机变量的期望值和方差
#这句是关键啊,把histogram的结果进行map处理
#fd.write('\n'.join(l+','+rforl,rinzip(map(str,li.histogram()),map(str,ri.histogram()))))
fd.write(','.join(map(str,li.histogram())))
fd.close()
li=li.convert('RGB')#与save对象,这是转换格式
draw=ImageDraw.Draw(li)
foriinxrange(0,256,64):
draw.line((0,i,256,i),fill='#ff0000')
draw.line((i,0,i,256),fill='#ff0000')
#从始至终划线!通过把每一列刷成红色,来进行颜色的随机分布划分
#用法:pygame.draw.line(Surface,color,start_pos,end_pos,width=1)
li.save(lf+'_lines.png')
make_doc_data('testpic/1370.bmp')
2、放大缩小图片的几种方法
#!C:/Python27
#coding=utf-8
importpytesseract
frompytesserimport*
fromPILimportImage,ImageEnhance,ImageFilter
importos
importfnmatch
importre,time
importurllib,random
#修改文件名
#os.rename("E:/pythonScript/Model/font/2.bmp","E:/pythonScript/Model/font/dock2.bmp")
defCutImg():
img=Image.open('.//6907.jpg').convert('L')
printimg.size
w,h=img.size
#rowheight=h//rownum
#colwidth=w//colnum
#imgry.show()
j=10
foriinrange(4):
x=10+i*24#验证码的x,y坐标
y=6
img.crop((x-4,y,x+6,y+14)).save("pic/%d.bmp"%j)
print"j=",j
j+=1
img.close()
infile=('.//testpic//001n.bmp')
outfile=('.//testpic//001n.png')
deffixed_size(infile):
"""按照固定尺寸处理图片"""
im=Image.open(infile)
size=(256,256)
im2=im.resize(size).convert('RGB')
out=im2.resize(size,Image.ANTIALIAS)
out.save(outfile)
printu"\n按固定尺寸放大图片,处理已完成"
defresize_by_width(w_divide_h):
"""按照宽度进行所需比例缩小"""
im=Image.open(infile)
printim.size
(x,y)=im.size
x_s=x
printx_s
y_s=x/w_divide_h#w_divide_h>x
printy_s
out=im.resize((x_s,y_s),Image.ANTIALIAS)
out.save(outfile)
defresize_by_height(w_divide_h):
"""按照高度进行所需比例缩放"""
im=Image.open(infile)
(x,y)=im.size
printim.size
x_s=y*w_divide_h
y_s=y
out=im.resize((x_s,y_s),Image.ANTIALIAS)
out.save(outfile,quality=95,dpi=(72,72))
defcut_by_ratio(width,height):
"""按照图片长宽比进行分割"""
im=Image.open(infile)
width=float(width)
height=float(height)
(x,y)=im.size
ifwidth>height:
region=(0,int((y-(y*(height/width)))/2),x,int((y+(y*(height/width)))/2))
elifwidth
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。