省钱大作战之图片色彩
来源:互联网 发布:stc12c5a08s2数据手册 编辑:程序博客网 时间:2024/04/29 15:41
考试周结束的那个晚上,表示超级无聊。。。由于上次去打印店被老板因为截得全黑的图多收了2块大洋,表示愤愤不平,于是,就去做了这么个程序,几十行代码,主要是供计算机专业的使用,至于对编程一窍不通的人,表示很无奈。。。。】
关于程序:
eps和
img = brightness.enhance(10.0) #这条语句
主要的目的是用来调整的,不同的图可能不同。。。如果为了省事,可以直接在
if Near(x, y, z, 255):这条语句改为
if Near(x, y, z, 255) or True:这样效果还是比较好的。。。
此次主要是是
x, y, z = img.getpixel((i, j))和
img.putpixel((i, j), (255 - x, 255 - y, 255 - z))语句的学习。。
__author__ = 'glcsnz123'import Image, ImageEnhanceimport osimport syssuffex = ['.png', '.jpg', '.jpeg']eps = 70def Check(name): for i in suffex: if name.endswith(i): return True return Falsedef Near(x, y, z, n): tot = 0 if abs(n - x) <= eps: tot += 1 if abs(n - y) <= eps: tot += 1 if abs(n - z) <= eps: tot += 1 if tot == 3: return True return Falseif __name__ == '__main__': filelist = os.listdir(os.getcwd()) for filname in filelist: if not Check(filname): continue print filname img = Image.open(filname) brightness = ImageEnhance.Brightness(img) img = brightness.enhance(10.0) #img.show() #print img.histogram() xsize, ysize = img.size for i in range(xsize): for j in range(ysize): #print img.getpixel((i, j)) x, y, z = img.getpixel((i, j)) #print x, y, z if Near(x, y, z, 255): img.putpixel((i, j), (255 - x, 255 - y, 255 - z)) elif Near(x, y, z, 0): img.putpixel((i, j), (255 - x, 255 - y, 255 - z)) img.save("bak_" + filname)
- 省钱大作战之图片色彩
- 博弈论大作战之 PART1
- 博弈论大作战之 PART2
- python大作战之排序
- python大作战之集合
- python大作战之生成器
- java之旅之习题大作战
- 家有千金之零花钱大作战
- 电视剧推荐之求婚大作战
- java之核心问题大作战
- python序列大作战之可变序列
- python大作战之迭代器初级篇
- 掌柜大作战(15):营业执照图片识别,有点尴尬
- 小生意,大智慧网络开店之省钱妙招
- C#图片处理之:色彩调整
- C#图片处理之:色彩调整
- android 图片操作之色彩变换
- 自考路之C++大作战(上)
- 手动创建scott和表
- Android——点击对话框上按钮不关闭对话框
- UVa 11292
- 如何使用Log4j?
- 应用python编写简单新浪微博应用(一)
- 省钱大作战之图片色彩
- LVS/TUN 操作笔记
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来是第几号
- GPS 双频/单频接收机介绍
- C++学习书籍
- RedHat Linux 5下配置vsftp
- OC lesson 1
- sql语句查询包含某些字符的所有存储过程
- C++学习实例1“获取当前时间”