玩蛇网提供最新Python编程技术信息以及Python资源下载!

判断并修改图片分辨率的python方法

python 培训

平时工作中常会遇到需要处理图片的工作,这个判断并修改图片分辨率的python方法是我自己写的。碰到许多图片分辨率都很大,我按照width和height最大边,更改为1024,另一边为等比缩放,感觉还是挺好用的。分享给大家一起试试看,代码如下:

# -*- coding: utf-8 -*-

import os,sys,Image

rootDir = 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.size
	maxValue = max(mySize)
        minValue = min(mySize)
	if(maxValue > 1024):
		return False
	else:
		return True

#www.iplaypython.com
def returnSize(im):
	#返回图片大小,返回两个值,第一个返回值总为最大
	max,min = im.size
	if max > min:
		return max,min
	else:
		return min,max

def changeSize(im,max,min):
	value = max/1024
	min = min/value
	newimg = im.resize((1024,min),Image.ANTIALIAS)
	return newimg

def main():
	for parent,dirnames,filenames in os.walk(rootDir):
		for filename in filenames:
			fName = filename
			filename = parent + os.sep + filename
			fPostfix = os.path.splitext(filename)[1]
			try:
				img = Image.open(filename)
			except:
				print filename
				print encodeChinese('打开这个文件出错')
				continue
			#img.load()
			print filename
			print fPostfix
			if(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()

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/graphics/gr2162.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-06-03 11:34 玩蛇网 www.iplaypython.com

上一篇:没有了
下一篇:Python数学方程式画心型图案源码示例
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
去顶部去底部