python基于pillow库的简单图像处理
from PIL import Image
from PIL import ImageFilter
from PIL import ImageEnhance
import matplotlib.pyplot as plt# 将彩色图片转成灰度图片
img = Image.open('pic.jpg') # 读取图片
gray = img.convert('L') # 转成灰度图
plt.figure('将彩色图片转成灰度图片')
plt.subplot(1,2,1)
plt.title("original image") # 设置标题
plt.imshow(img) # 显示原始图片
plt.axis('off') # 不显示坐标轴
plt.subplot(1,2,2)
plt.title('gray image') # 设置标题
plt.imshow(gray,cmap = 'gray')
plt.axis('off')
plt.show() # 显示图片框# 裁剪图像
img = Image.open('pic.jpg') # 读取图片
plt.figure("裁剪图像")
plt.subplot(1,2,1)
plt.title('original image') # 设置标题
plt.imshow(img) # 显示原始图片
plt.axis('off') # 不显示坐标轴
img_size = img.size # 获取图像大小
start_x = int(img_size[0]/2)
end_x = img_size[0]
start_y = int(img_size[1]/2)
end_y = img_size[1]
box = (start_x,start_y,end_x,end_y) # 定义裁剪区间
roi = img.crop(box) # 裁剪
plt.subplot(1,2,2)
plt.title('cropped image') # 设置标题
plt.imshow(roi) # 显示裁剪后的图片
plt.axis('off') # 不显示坐标轴
plt.show() # 显示图片框# 旋转图像
img = Image.open('pic.jpg') # 读取图片
plt.figure("旋转图像")
plt.subplot(1,2,1)
plt.title('original image') # 设置标题
plt.imshow(img) # 显示原始图片
plt.axis('off') # 不显示坐标轴
dst = img.rotate(45) # 顺时针旋转45度
plt.subplot(1,2,2)
plt.title('rotated image') # 设置标题
plt.imshow(dst) # 显示裁剪后的图片
plt.axis('off') # 不显示坐标轴
plt.show() # 显示图片框# 寻找边缘信息的滤波
img = Image.open('pic.jpg') # 读取图片
gray = img.convert('L') # 转成灰度图
plt.figure("边缘信息滤波")
plt.subplot(1,2,1)
plt.title('original image') # 设置标题
plt.imshow(gray,cmap = 'gray') # 显示原始图片
plt.axis('off') # 不显示坐标轴
im = gray.filter(ImageFilter.FIND_EDGES) # 边缘滤波
plt.subplot(1,2,2)
plt.title('edge filtering') # 设置标题
plt.imshow(im,cmap = 'gray') # 显示裁剪后的图片
plt.axis('off') # 不显示坐标轴
plt.show() # 显示图片框# 浮雕滤波
img = Image.open('pic.jpg') # 读取图片
gray = img.convert('L') # 转成灰度图
plt.figure("浮雕滤波")
plt.subplot(1,2,1)
plt.title('original image') # 设置标题
plt.imshow(gray,cmap = 'gray') # 显示原始图片
plt.axis('off') # 不显示坐标轴
im = gray.filter(ImageFilter.EMBOSS) # 浮雕滤波
plt.subplot(1,2,2)
plt.title('embossed filtering') # 设置标题
plt.imshow(im,cmap = 'gray') # 显示裁剪后的图片
plt.axis('off') # 不显示坐标轴
plt.show() # 显示图片框# 轮廓滤波
img = Image.open('pic.jpg') # 读取图片
gray = img.convert('L') # 转成灰度图
plt.figure("轮廓滤波")
plt.subplot(1,2,1)
plt.title('original image') # 设置标题
plt.imshow(gray,cmap = 'gray') # 显示原始图片
plt.axis('off') # 不显示坐标轴
im = gray.filter(ImageFilter.CONTOUR) # 轮廓滤波
plt.subplot(1,2,2)
plt.title('contour filtering') # 设置标题
plt.imshow(im,cmap = 'gray') # 显示裁剪后的图片
plt.axis('off') # 不显示坐标轴
plt.show() # 显示图片框# 图像增强
img = Image.open('pic.jpg') # 读取图片
gray = img.convert('L') # 转成灰度图
plt.figure("图像增强")
plt.subplot(1,2,1)
plt.title('original image') # 设置标题
plt.imshow(gray,cmap = 'gray') # 显示原始图片
plt.axis('off') # 不显示坐标轴
im = ImageEnhance.Color(gray).enhance(0.5) # 图像增强
plt.subplot(1,2,2)
plt.title('enhanced image') # 设置标题
plt.imshow(im) # 显示裁剪后的图片
plt.axis('off') # 不显示坐标轴
plt.show() # 显示图片框
转载于:https://www.cnblogs.com/liutongqing/p/6891429.html
python基于pillow库的简单图像处理相关推荐
- python 基于numpy数组的简单图像处理
文章目录 使用PIL库进行灰度处理 将其旋转180度 使用matplotlib库完成灰度处理 python 基于numpy数组的简单图像处理 如图,以该猫咪图片为例(忽略水印).将该文件命名为cat. ...
- python中pillow库教程_Python图像处理库:Pillow 初级教程
Image类 Pillow中最重要的类就是Image,该类存在于同名的模块中.可以通过以下几种方式实例化:从文件中读取图片,处理其他图片得到,或者直接创建一个图片. 使用Image模块中的open函数 ...
- python jieba库分词_Python基于jieba库进行简单分词及词云功能实现方法
本文实例讲述了Python基于jieba库进行简单分词及词云功能实现方法.分享给大家供大家参考,具体如下: 目标: 1.导入一个文本文件 2.使用jieba对文本进行分词 3.使用wordcloud包 ...
- python watchdog占用,python基于watchdog库全自动化监控目录文件
楔子 有些时候我们需要对一个目录进行监控,检测其内部是否有文件的新增.删除.以及每个文件的内容是否发生变化,这个时候如果是你的话,你会选择怎么做呢? 显然也是一个比较麻烦的工作,倒不是说难,主要是比较 ...
- Python使用pillow库往图片上写入文字或覆盖另一张图片
Python使用pillow库往图片上写入文字或覆盖另一张图片 python之pillow是 Python 的第三方图像处理库.pillow是PIL( Python Imaging Library)基 ...
- python的turtle库的简单使用
python的turtle库的简单使用 Python的turtle库是一个直观有趣的图形绘制函数库,是python的标准库之一. 一.绘图坐标体系 turtle库绘制图形的基本框架:通过一个小海龟在坐 ...
- Python之Turtle库绘制简单图形
Python之Turtle库绘制简单图形 来绘制正方形.三角形.五边形.五角形 import turtle #引入turtle库pen=turtle.Turtle() #创建turtle类型的画笔 # ...
- STM32CubeMX基于HAL库实现简单串口通信
STM32CubeMX基于HAL库实现简单串口通信 板子:STM32F103C8 编译工具:Keil+STM32CubeMX 烧录工具:FlyMcu 串口调试程序:XCOM 实验要求: 1)设置波特率 ...
- Python学习-Matplotlib库绘制简单点阵图、线型图操作
Python学习-Matplotlib库绘制简单散点图图和线型图.标签设置以及刻度线设置操作 目录 1.Matplotlib绘图细节的简单理解 2.绘制点图.线型图 3.给图表设置复杂标注 4.移动刻 ...
最新文章
- id和class到底要用哪一个?
- 坐标上升算法(Coordinate Ascent)及C++编程实现
- UML图系列——建模和面向对象
- JZOJ 5441. 【NOIP2017提高A组冲刺11.1】序列
- ceph常用命令-pool相关命令
- (五十九)iOS网络基础之UIWebView简易浏览器实现
- 基础笔试编程题(jz)
- Neville 插值方法
- c语言是否继续运行,C语言是否有运行时?
- 在使用FireFox浏览器时,经常打开新标签,页面总是不断自动刷新,解决办法
- Laravel Symfony_Crawler GuzzleHttp 爬虫 抓取行政区域
- matlab如何公式编辑器,公式编辑器怎么用
【搞定要领】
- oracle常用查询语句
- 零基础怎么学习平面设计*
- vue2.0生命周期数据共享
- 称为超级计算机,怎样的计算机被称为“巨型计算机”呢?
- 3.Ubuntu 安装Pinta图片处理工具
- Unity 使用贝塞尔曲线实现抛物线运动
- 10款超赞的Android智能车机软件
- JSON文件读写操作详解