判断并修改图片分辨率的python方法,,平时工作中常会遇到需要处
判断并修改图片分辨率的python方法,,平时工作中常会遇到需要处
平时工作中常会遇到需要处理图片的工作,这个判断并修改图片分辨率的python方法是我自己写的。碰到许多图片分辨率都很大,我按照width和height最大边,更改为1024,另一边为等比缩放,感觉还是挺好用的。分享给大家一起试试看,代码如下:
# -*- coding: utf-8 -*-import os,sys,ImagerootDir = r'c:\images'targetDir = r'c:\imagesover'def encodeChinese(msg):type = sys.getfilesystemencoding()return msg.decode('UTF-8').encode(type)errFile = open(r'c:\errFile.txt','w')def judgeSize(im):#判断图片分辨率,如果最大边超过1024返回False,如果不超过返回True mySize = im.sizemaxValue = max(mySize) minValue = min(mySize)if(maxValue > 1024):return Falseelse:return True#www.iplaypy.comdef returnSize(im):#返回图片大小,返回两个值,第一个返回值总为最大max,min = im.sizeif max > min:return max,minelse:return min,maxdef changeSize(im,max,min):value = max/1024min = min/valuenewimg = im.resize((1024,min),Image.ANTIALIAS)return newimgdef main():for parent,dirnames,filenames in os.walk(rootDir):for filename in filenames:fName = filenamefilename = parent + os.sep + filenamefPostfix = os.path.splitext(filename)[1]try:img = Image.open(filename)except:print filenameprint encodeChinese('打开这个文件出错')continue#img.load()print filenameprint fPostfixif(fPostfix !='.jpg' and fPostfix !='.png' and fPostfix != '.JPG' and fPostfix != '.PNG'):errFile.write(str(filename) + '\n')errFile.write(encodeChinese('上面这个文件不是图片,请检查...') + '\n')errFile.write('\n')else:print 'juageSize()'if(judgeSize(img) == False):print 'judgeSize == False'max,min = returnSize(img)newimg = changeSize(img,max,min)newimg.save(targetDir + os.sep + fName)print str(targetDir + os.sep + fName) print encodeChinese('保存完毕')print encodeChinese('处理完毕')errFile.close()main()
编橙之家文章,
相关内容
- python应用脚本之解析淘宝助理数据包csv文件,pythoncsv
- Python之SMTP学习笔记方法详解,pythonsmtp学习笔记,这是关
- 菜鸟的递归查找文件python实现,菜鸟递归python,做为一个
- Python实现折半二分查询方法,python实现折半二分,本来这
- 一行代码实现csv文件转化为数字二维列表的python实现方
- Python排序之直接插入排序方法,python排序直接插入,Py
- 分享webqq加密算法解析,webqq加密算法解析,这是我几年
- python如何调用win32应用程序方法分享,pythonwin32,在网上
- Python数学方程式画心型图案源码示例,python源码,如下几
- Python实现单例模式方法源码示例分享,python源码,如何用
评论关闭