Python工具包 | 图像处理PIL库的基本使用

简介: Python工具包 | 图像处理PIL库的基本使用

直奔主题。下面简要介绍PIL的使用。个人认为,稍微掌握一下ImageDraw, ImageFont, Image,实在不够再加个ImageFilter基本可以满足使用的需求的,我整理的资料如下所示,之后可能会继续在这篇博文中更新PIL库的其他内容。


1. Image类的基本用法


from PIL import Image
plane = Image.open('./photo/plane.jpg')   # 导入图像
plane.show()                 # 显示图像, 在notebook环境中直接plane既可以显示
plane.rotate(180)            # 旋转180°显示图像
plane.convert('L')           # 将图片改变为灰色,参数'L','F','I'都是灰色,一般用L
plane.resize((250, 150))     # 缩放图像
plane.thumbnail((150, 130))  # 缩略图与resize功能类似
plane.save('plane.jpg')      # 保存图片
将numpy格式的矩阵转换为图像显示:
from PIL import Image
real_image = Image.fromarray(image.cpu().numpy(), mode='RGB')
gene_image = Image.fromarray(image_pred.numpy(), mode='RGB')
real_image.show()
gene_image.show()


2. ImageFilter类的基本用法


from PIL import Image, ImageFilter
plane = Image.open('./photo/plane.jpg')              # 导入图像
plane = plane.filter(ImageFilter.BLUR)               # 使图片变模糊
plane = plane.filter(ImageFilter.DETAIL)             # 使图片细节更突出
plane = plane.filter(ImageFilter.CONTOUR)            # 使图片只有轮廓
plane = plane.filter(ImageFilter.EDGE_ENHANCE)       # 使图像整体颜色更深  有点油画的感觉
plane = plane.filter(ImageFilter.EDGE_ENHANCE_MORE)  # 上一个加强版
plane = plane.filter(ImageFilter.EMBOSS)             # 使图片石雕化,就是石膏一样的图片
plane = plane.filter(ImageFilter.FIND_EDGES)         # 使图片黑色化,只剩轮廓
plane = plane.filter(ImageFilter.SMOOTH_MORE)        # 使图片平滑


效果:

image.png


3. ImageFont类的基本用法


from PIL import ImageFont, ImageDraw
# 导入字体
font = ImageFont.load("arial.pil")
draw.text((10, 10), "hello", font=font)
# 导入字体并设置字体大小
font = ImageFont.truetype("arial.ttf", 15)
draw.text((10, 25), "world", font=font)


4. ImageDraw类的基本用法


from PIL import ImageDraw, ImageFont, Image
# 构建图像,绘画,字体类以设置相关内容
plane = Image.open('./photo/plane.jpg')
draw = ImageDraw.Draw(plane)
font = ImageFont.truetype("./Font/Tiger.ttf", size=90)  
# 在原图上绘制直线,颜色可以查准RGB配色表
# width设置线宽,fill设置线颜色
draw.line([(5, 30), (5, 300)], width=5, fill=(255, 250, 250))
draw.line([(15, 30), (15, 300)], width=3, fill=(220, 220, 220))
# 在原图上绘制文本
# font设置字体颜色与格式,fill设置字体颜色
draw.text((20, 120), text="PLANE", font=font, fill=(255,0,0))  
# 在原图上绘制矩形框:
# fill=None表示不填充,outline设置外框的颜色
draw.rectangle([25, 110, 460, 220], fill=None, outline=(25, 25, 112))


效果:

image.png


参考资料:

关于颜色的设置可以查看RGB配色表:https://www.cnblogs.com/seamar/archive/2011/07/29/2120688.html

目录
相关文章
|
2天前
|
JavaScript 前端开发 Android开发
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
34 13
【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
73 20
|
1月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
56 7
|
1月前
|
测试技术 数据库 Python
Python装饰器实战:打造高效性能计时工具
在数据分析中,处理大规模数据时,分析代码性能至关重要。本文介绍如何使用Python装饰器实现性能计时工具,在不改变现有代码的基础上,方便快速地测试函数执行时间。该方法具有侵入性小、复用性强、灵活度高等优点,有助于快速发现性能瓶颈并优化代码。通过设置循环次数参数,可以更准确地评估函数的平均执行时间,提升开发效率。
106 61
Python装饰器实战:打造高效性能计时工具
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
4天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
29 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
28天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
106 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
1月前
|
数据可视化 算法 数据挖掘
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
80 37
Python时间序列分析工具Aeon使用指南
|
1天前
|
监控 Java 计算机视觉
Python图像处理中的内存泄漏问题:原因、检测与解决方案
在Python图像处理中,内存泄漏是常见问题,尤其在处理大图像时。本文探讨了内存泄漏的原因(如大图像数据、循环引用、外部库使用等),并介绍了检测工具(如memory_profiler、objgraph、tracemalloc)和解决方法(如显式释放资源、避免循环引用、选择良好内存管理的库)。通过具体代码示例,帮助开发者有效应对内存泄漏挑战。
11 1
|
安全 API 网络安全
22 个常用的 Python 工具包(一)
首先我列出了最近一年内 PyPI 上下载量最高的 Python 包。我们来看看这些包的作用,它们的之间的关系,以及为什么会如此流行。

热门文章

最新文章

推荐镜像

更多