pil库的学习总结

#__author:'lwq'
#date: 2018/11/15

from PIL import Image,ImageFilter,ImageDraw,ImageFont #####除了缩略图的方法,其他方法都是返回值,需要变量来接收

img = Image.open('2.jpg')
#img.show() #展示图片

# print(img.size[0],img.size[1]) #在图片中添加文字
# draw = ImageDraw.Draw(img)
# ttFont = ImageFont.truetype ("C:/Users/admin/Desktop/文件/微信爬虫/simhei.ttf", 60)
# draw.text((img.size[0]/2,img.size[1]/2),text='你好',font=ttFont,fill=(255,0,0))
# img.show()

# new_image = img.resize((1080,800),resample = 4) #改变图片大小, 参数含义,默认NEAREST最近邻(分割常用),分类常用BILINEAR双线性,BICUBIC立方
# new_image.show() #展示改变后的图片

# im = Image.new('RGB',(128,128),color=700) #新建一张大小为128*128的图片,color为颜色参数(默认为黑色)
# im.show()

# img_1 = img.convert('L') #将图片改变为灰色,参数'L','F','I'都是灰色,一般用L
# img_2 = img.convert('1') #参数 1 也是灰度,会加模糊网格滤镜
# img_2.show()
# img_1.show()

# img.thumbnail((150,130)) #缩略图,与resize功能类似 重要!@resize需要重新定义新图,thumbnail不用
# img.show()

# img.thumbnail((640,400)) # rotate 逆时针改变图方向
# im = img.rotate(315)
# im.show()

#img_new = img.filter(ImageFilter.BLUR) #使图片变模糊
#img_new = img.filter(ImageFilter.DETAIL) #使图片细节更突出
#img_new = img.filter(ImageFilter.CONTOUR) #使图片只有轮廓
#img_new = img.filter(ImageFilter.EDGE_ENHANCE) #使图像整体颜色更深 有点油画的感觉
#img_new = img.filter(ImageFilter.EDGE_ENHANCE_MORE) #上一个加强版
#img_new = img.filter(ImageFilter.EMBOSS) #使图片石雕化,就是石膏一样的图片
#img_new = img.filter(ImageFilter.FIND_EDGES) #使图片黑色化,只剩轮廓
#img_new = img.filter(ImageFilter.SMOOTH_MORE) #使图片平滑
#img_new.show()
---------------------

这是代码,

# 锐度,增强因子为1.0是原始图片
# 锐度增强
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 3.0
image_sharped1 = enh_sha.enhance(sharpness)
image_sharped1.save(os.path.join(parent, '{}_sha1.jpg'.format(name)))

# 锐度减弱
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 0.8
image_sharped2 = enh_sha.enhance(sharpness)
image_sharped2.save(os.path.join(parent, '{}_sha2.jpg'.format(name)))

dir = 'E:/4/'
for parent, dirnames, filenames in os.walk(dir):
for filename in filenames:
fullpath = os.path.join(parent + '/', filename)
if 'jpg' in fullpath:
print(fullpath, parent)
augument(fullpath, parent)

原图找了《缘某空》的男主的妹妹,挺可爱的

这是增强锐度之后,还是那么可爱,

继续增强锐度,

好了,就到这里。

好玩图像pil处理的更多相关文章

  1. 好玩Python——PIL项目实训

    PIL学习总结: 1. 2,PIL库概述: pil库可以完成图像归档和图像处理两方面功能的需求: 图像归档:对图像进行批处理,生成图像预览,图像转换格式等: 图像处理:图像基本处理,像素处理,颜色处理 ...

  2. 好玩的PIL

    原图(下面的代码全为部分)不喜欢的一个库 缩小的代码 from PIL import Image im=Image.open('tupian.jpg') im.thumbnail(128,128)) ...

  3. 图像处理基本工具——Python 环境下的 Pillow( PIL )

    由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据.该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库.在 Python 环境 ...

  4. python计算机视觉1:基本操作与直方图

    本文主要内容来源于书籍<python计算机视觉编程> 我是一名初学者,如果你发现文中有错误,请留言告诉我,谢谢 PIL模块 PIL模块全程为Python Imaging Library,是 ...

  5. Python图像处理库Pillow入门

    http://python.jobbole.com/84956/ Pillow是Python里的图像处理库(PIL:Python Image Library),提供了了广泛的文件格式支持,强大的图像处 ...

  6. Python用Pillow(PIL)进行简单的图像操作

    Python用Pillow(PIL)进行简单的图像操作 颜色与RGBA值 计算机通常将图像表示为RGB值,或者再加上alpha值(通透度,透明度),称为RGBA值.在Pillow中,RGBA的值表示为 ...

  7. [Python] 图像简单处理(PIL or Pillow)

    前几天弄了下django的图片上传,上传之后还需要做些简单的处理,python中PIL模块就是专门用来做这个事情的. 于是照葫芦画瓢做了几个常用图片操作,在这里记录下,以便备用. 这里有个字体文件,大 ...

  8. Python PIL 图像缩小、拼接

    比较各种不同取样方式的图像缩放效果. [NEAREST, BILINEAR, BICUBIC, LANCZOS, BOX, HAMMING]NEAREST取样方式是效果最差的,PIL.Image.re ...

  9. matplotlib、PIL、cv2图像操作 && caffe / tensorflow 通道顺序

    用python进行图像处理中分别用到过matplotlib.pyplot.PIL.cv2三种库,这三种库图像读取和保存方法各异,并且图像读取时顺序也有差异,如plt.imread和PIL.Image. ...

随机推荐

  1. JVM入门到放弃之基本概念

    1. 基本概念 jvm 是可运行Java代码的假想计算机,包括一套字节码指令集.一组寄存器.一个栈.一个垃圾回收堆和一个存储方法域. jvm 是运行在操作系统之上的,屏蔽了与具体操作系统平台相关的信息 ...

  2. levmar : Levenberg-Marquardt库编译

    levmar : Levenberg-Marquardt 是非线性优化的一个库 1.使用CMake生成sln项目,编译 clapack库 在levmar工程中,打开misc.c文件,在最开始添加#in ...

  3. 上海嘉韦思杯部分writeup

    第二题 打开赛题,看到加密字符串,进行base64解密,发现是JSFUCK,再次解密,控制台得到flag. 第三题 打开频谱图得到flag,flag中有三个_,联想到音频文件详细信息中的三个zero, ...

  4. ubuntu 16.04 国内仓库地址

    deb http://mirrors.aliyun.com/ubuntu xenial maindeb http://mirrors.aliyun.com/ubuntu xenial universe ...

  5. GET和POST两种基本请求方法(转自博主--在途中#)

    GET和POST两种基本请求方法的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过req ...

  6. Linux部署Java环境

    一. yum安装jdk (1) 搜索jdk安装包 yum search java|grep jdk (2) 下载jdk1.8,下载之后默认的目录为: /usr/lib/jvm/ yum install ...

  7. 在嵌入式开发中应该这样理解嵌入式C编程

    一.新手常常问的一个问题:C语言和嵌入式C编程有什么区别?而嵌入式工程师一般都会告诉你,其区别在于嵌入式的C语言是跑在嵌入式的开发板上的,CPU和电脑不一样,所以编译器也是不一样的,生成的可执行程序也 ...

  8. [macOS] Mojave10.14 夜神安卓模拟器启动问题

    废话不多说,其它的都有在这里讨论: https://bbs.yeshen.com/forum.php?mod=viewthread&tid=8566 我的最终解决办法是,virtualbox安 ...

  9. Why ngx-uploader doesn't like to cooperate with .net core 2.x?

    The POST action seems to have no effect on the .net core controller. If you put [IgnoreAntiforgeryTo ...

  10. CentOS7编译安装SVN(subversion1.9.7)

    参考连接0:http://www.programering.com/a/MDMzYDMwATg.html参考连接1:http://www.zsythink.net/archives/13180.系统信 ...