因为从网上爬取了一堆图片的分辨率都各不相同,而且图片数量较大,所以从网上找了Python处理图片的代码,自己修改功能/bug之后的代码如下:
#!/usr/bin/env python # -*- coding: utf-8 -*- from PIL import Image # import Image --> "ImportError: No module named Image" import glob, os def thumbnail(): for files in glob.glob('D:\photos\*.jpg'): filepath,filename = os.path.split(files) filterame,exts = os.path.splitext(filename) opfile = 'D:\photos2\' # output path if (os.path.isdir(opfile)==False): os.mkdir(opfile) im = Image.open(files) w,h = im.size #im_ss = im.resize((400,400)) #im_ss = im.convert('P') im_ss = im.resize((int(w*0.12), int(h*0.12))) im_ss.save(opfile+filterame+'.jpg') if __name__=='__main__': thumbnail() print u'哈哈OK啦...'
要注意的地方就是直接:import Image会报错,需要将其修改为:from PIL import Image
然后就是路径字符串中的反斜杠问题,其实在Windows系统上路径的“正统”写法应该是:
path = os.path.normcase(“c:/mydir/mysubdir/”)
os.path.normcase在Windows平台下会自动把正斜杠转换成反斜杠。
《“用Python批量处理图片”》 有 1 条评论
下载的图片太模糊?8 个方法把它变清晰
http://sspai.com/post/44668
`
Waifu2x
Bigjpg:国内版 Waifu2x
Waifu2x-caffe:带显卡硬件加速的 Waifu2x
除了人工智能和其他图片放大算法,还有一种方法可以无限提升图片清晰度 —— 而且是一劳永逸地,那就是将图片转换成矢量图。
什么是矢量图呢?我们都知道,一般位图图片保存的是像素信息,例如一张 200*200 分辨率的图片保存了 4 万个像素点的信息;而矢量图保存的是关键点的位置信息,还有通过这些点连线组成图形的形状、轮廓、大小等属性。
矢量图有一个优点,那就是没有分辨率这个概念。通过数学计算它保存的点与图形信息,呈现出我们能看到的图片,所以矢量图放大多少倍都不会失真。
`