尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
python-guide 图像处理实战指南:Pillow 与 OpenCV 双库上手
python-guide 图像处理实战指南Pillow 与 OpenCV 双库上手【免费下载链接】python-guidePython best practices guidebook, written for humans.项目地址: https://gitcode.com/gh_mirrors/py/python-guide本篇指南源自 python-guideThe Hitchhikers Guide to Python仓库中的图像处理场景章节面向需要在 Python 中完成图片读取、显示、滤镜、通道拆分、EXIF 读取与灰度转换等日常任务的开发者。读完本文你将掌握 PillowPIL 的活跃继任者与 OpenCV 两套主流图像处理库的安装方式、核心 API 用法以及如何根据任务复杂度选择最合适的库。为什么 Python 里图像处理只需要两个库在 Python 生态中绝大多数图像处理与图像编辑需求都可以用两个库高效完成Python Imaging LibraryPIL和Open Source Computer VisionOpenCV开源计算机视觉库。前者侧重日常图像编辑与格式转换后者则是更进阶的图像分析与计算机视觉工具。python-guide 将这份选型建议收录在 场景指南Scenario Guide for Python Applications中作为scenarios/imaging一章向开发者推荐。下文分别介绍两个库的背景、安装步骤与可直接运行的代码示例。Python Imaging LibraryPIL与 PillowPIL 是 Python 图像处理的核心库之一但它的官方开发早已停滞——最后一个正式版本发布于 2009 年。幸运的是社区孵化了一个持续活跃的复刻分支Pillow它安装更简单、支持所有主流操作系统并且完整支持 Python 3。因此新项目应当直接使用 Pillow而不是原版 PIL。安装 Pillow安装 Pillow 之前需要先满足其平台相关的底层依赖例如不同系统上的 JPEG、PNG、zlib 等图像编解码库请参照 Pillow 官方安装文档中针对你所在平台Windows / macOS / Linux的说明完成前置准备。前置依赖就绪后安装本身只有一条命令$ pip install PillowPillow 与 PIL 共用PIL这一模块名因此安装 Pillow 后代码中依然通过from PIL import ...导入。入门示例读取、显示、滤镜、通道拆分与 EXIF以下示例完整覆盖了日常图像编辑的高频操作打开图片、显示图片、应用滤镜、保存新文件、拆分 RGB 通道以及读取 EXIF 元数据from PIL import Image, ImageFilter # 读取图像 im Image.open(image.jpg) # 显示图像会调用系统默认图片查看器 im.show() # 对图像应用锐化滤镜返回一张新的 Image 对象 im_sharp im.filter(ImageFilter.SHARPEN) # 将处理后的图像保存为 JPEG 格式的新文件 im_sharp.save(image_sharpened.jpg, JPEG) # 将图像拆分为各自的颜色通道RGB 模式下即红、绿、蓝三个单通道 r, g, b im_sharp.split() # 查看图像中内嵌的 EXIF 数据相机型号、光圈、快门、拍摄时间等 exif_data im._getexif() exif_data逐行解读关键 APIImage.open(path)打开图片文件返回Image对象。Pillow 会根据文件内容自动识别格式无需显式指定。im.show()调用系统默认图片查看器展示图片适合交互式调试。im.filter(ImageFilter.SHARPEN)Pillow 内置多种滤镜如BLUR、CONTOUR、EMBOSS、SHARPEN、SMOOTH等处理返回新对象原图不被修改。im_sharp.save(image_sharpened.jpg, JPEG)按指定格式写出文件第二个参数为格式名如JPEG、PNG、GIF也可省略以由扩展名推断。im_sharp.split()将多通道图像拆成独立的单通道图像RGB 图像得到 (r, g, b) 三元组。im._getexif()返回内嵌 EXIF 元数据字典若图片无 EXIF 则返回None。更多 Pillow 用法可查阅官方 Pillow 教程Handbook其中包含裁剪、旋转、缩放、缩略图、模式转换如convert(L)转灰度等进阶操作。Open Source Computer VisionOpenCVOpen Source Computer Vision通称OpenCV是比 PIL 更进阶的图像处理与计算机视觉软件底层以 C/C 实现、性能出色已被多种编程语言绑定并广泛应用于学术界与工业界。它适合人脸检测、物体识别、图像特征提取、视频分析等计算密集型任务。安装cv2 与 NumPy在 Python 中使用 OpenCV实际上用到的是cv2与NumPy两个模块cv2是 OpenCV 的 Python 绑定而NumPy提供底层数组结构——OpenCV 的图像在 Python 中就是一个 NumPy 数组这为矩阵运算与批量像素处理提供了极大便利。OpenCV 的安装配置请参考其官方安装指南NumPy 可以直接从 Python 包索引PyPI安装$ pip install numpy入门示例读取、显示、灰度转换与保存以下示例演示 OpenCV 处理图像的标准流程读取图片、弹出窗口显示、按键后关闭窗口、转换灰度并保存import cv2 # 读取图像 img cv2.imread(testimg.jpg) # 显示图像在 GUI 窗口中展示 cv2.imshow(image, img) # 等待用户按键参数 0 表示无限期等待直到按下任意键 cv2.waitKey(0) # 关闭所有由 OpenCV 创建的窗口 cv2.destroyAllWindows() # 将图像应用灰度滤镜从 BGR 色彩空间转换为灰度 gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 将灰度图像保存到新文件 cv2.imwrite(graytest.jpg, gray)关键 API 说明cv2.imread(path)读取图像返回一个 NumPy 数组。注意 OpenCV 默认以BGR而非 RGB通道顺序加载彩色图像这是与 Pillow 的一个重要差异。cv2.imshow(window_name, img)在指定名称的窗口中显示图像仅支持窗口环境桌面 GUI无头服务器环境下不可用。cv2.waitKey(ms)等待键盘输入参数为毫秒数0表示无限等待返回按键的 ASCII 码。它在显示循环中同时负责刷新窗口事件。cv2.destroyAllWindows()关闭所有已创建的 OpenCV 窗口释放资源。cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)执行色彩空间转换COLOR_BGR2GRAY表示 BGR 转灰度。cv2.imwrite(path, img)将 NumPy 数组形式的图像写出为文件格式由文件扩展名决定。由于cv2图像本质是 NumPy 数组你还可以直接对其进行切片、算术运算、逻辑掩码等操作实现阈值分割、直方图均衡、边缘检测如 Canny等高级功能。OpenCV 官方及社区有大量 Python 实现的教程示例可供进一步学习。两个库如何选型维度PillowOpenCV定位日常图像编辑与格式转换计算机视觉与进阶图像分析安装复杂度低pip install Pillow需少量平台依赖中cv2绑定 NumPy按官方指南配置图像表示自有的PIL.Image对象NumPy 数组默认 BGR 通道顺序典型场景缩略图、滤镜、格式转换、EXIF 读取灰度/色彩空间转换、特征检测、视频分析、机器学习预处理性能取向常规编辑足够面向大规模像素运算优化适合计算密集任务简单来说做图像编辑、格式处理、快速加滤镜选 Pillow做计算机视觉、需要把图像当 NumPy 数组做数值运算、或对接机器学习流程选 OpenCV。两者也能互补——例如先用 Pillow 做轻量预处理再用 OpenCV 提取特征。仓库中的定位与进一步探索本章节是 python-guide 中 场景指南Scenario Guide for Python Applications的一部分与数据库、网络、科学计算、机器学习等场景章节并列遵循“按场景给最佳实践选型”的写作理念。仓库使用 Sphinx 构建文档见 docs/conf.pyscenarios/imaging.rst即本章节源文件配套的示例照片存放于 docs/_static/photos 目录可作为测试图像处理流程的真实素材。如果你想继续深入仓库中与之相邻的科学计算章节介绍了 NumPy、SciPy、Matplotlib 等科学计算栈其中的 NumPy 数组操作与 OpenCV 的图像数组模型一脉相承而机器学习章节展示了如何将图像数据接入 scikit-learn 等训练流程。图像处理往往是这些更复杂应用的前置环节掌握 Pillow 与 OpenCV 之后你可以自然衔接到这些进阶方向。【免费下载链接】python-guidePython best practices guidebook, written for humans.项目地址: https://gitcode.com/gh_mirrors/py/python-guide创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Textual 内联模式(Inline Mode)样式定制实战指南:用 `:inline` 伪类打造提示符下方的常驻应用

Textual 内联模式(Inline Mode)样式定制实战指南:用 `:inline` 伪类打造提示符下方的常驻应用

Textual 内联模式(Inline Mode)样式定制实战指南:用 :inline 伪类打造提示符下方的常驻应用 【免费下载链接】textual The lean application framework for Python. Build sophisticated user interfaces with a simple Python API. Run your…

📅 2026/9/19 7:43:15
Cuk、Sepic、Zeta三兄弟:非隔离升降压拓扑原理与实战选型

Cuk、Sepic、Zeta三兄弟:非隔离升降压拓扑原理与实战选型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/19 7:43:15
CANoe离线报文回放全指南:从数据准备到故障复现的实战技巧

CANoe离线报文回放全指南:从数据准备到故障复现的实战技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/9/19 7:43:15
MORE NEWS

更多资讯

📰

AI时代高考志愿填报指南:如何选择未来不被淘汰的专业

1. 高考志愿填报的新变局去年这个时候,张雪峰老师的志愿填报建议还在各大平台刷屏,今年却突然发现这位"志愿填报界的网红"已经淡出了公众视野。与此同时,ChatGPT等AI工具的爆发式发展,让不少家长和考生开始担忧&#xf…

📰

书霸AI:把课程论文写成一场小型研究

https://www.shubaai.com很多同学第一次接触课程论文时,都会陷入一个误区:以为课程论文只是把课堂知识整理成几页文字。实际上,一篇合格的课程论文,至少要完成四件事——提出一个明确问题,找到能够支撑观点的资料&…

📰

Hugo time.Format 函数完全指南:日期时间格式化、时区与本地化实战

Hugo time.Format 函数完全指南:日期时间格式化、时区与本地化实战 【免费下载链接】hugo The world’s fastest framework for building websites. 项目地址: https://gitcode.com/gh_mirrors/hu/hugo Hugo 模板中的 time.Format 函数用于把 time.Time 值或…

📰

书霸AI:课程论文避坑指南

www.shubaai.com很多同学写课程论文时,第一步就是打开文档,从摘要或正文开始硬写。结果往往是:题目很大,论点很散;参考资料堆了不少,却没有真正支撑观点;最后格式匆忙调整,标题层级、…

📰

Spring Boot 2.4+配置变更解析与迁移指南

1. Spring Boot 2.4 版本配置变更深度解析最近在升级Spring Boot项目时踩了个坑,项目从2.3.x升级到2.5.3后突然报错InvalidConfigDataPropertyException,错误信息直指spring.profiles.active配置。经过一番排查,发现这是Spring Boot 2.4版本引…

📰

AD603可变增益放大器设计:从电路原理到AGC应用实践

简介:AD603可编程增益放大器技术文档,面向电子工程师、射频电路设计者与信号处理学习者,系统讲解其程控增益调整原理与硬件实现方法。文档涵盖模块功能、工作原理、内部结构、电路原理图及印制版图等章节,明确给出40dB增益范围、2…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬