首先安装Pillow、OpenCV、numpy和matplotlib库;接着用Pillow进行图像打开、调整大小、转灰度、滤镜等基础操作;然后使用OpenCV读取图像,转灰度图并进行边缘检测;最后通过matplotlib显示结果或保存处理后的图像,注意颜色通道顺序差异。

用Python处理图片主要依赖一些成熟的库,最常用的是Pillow(PIL)、OpenCV 和 matplotlib。下面介绍基本操作和使用方法,帮助你快速上手。
安装必要的库
开始前先安装需要用到的库:
pip install pillow opencv-python numpy matplotlib其中:
- Pillow:适合基础图像操作,如裁剪、缩放、滤镜等
- OpenCV (cv2):功能强大,适用于计算机视觉任务
- numpy:用于图像数组处理
- matplotlib:显示图像
使用Pillow进行基本图像处理
Pillow适合日常图像处理任务。例如:
立即学习“Python免费学习笔记(深入)”;
from PIL import Image, ImageFilter打开图像
img = Image.open('example.jpg')
显示图像信息
print(img.size, img.mode)
调整大小
resized = img.resize((800, 600))
转灰度
gray = img.convert('L')
应用模糊滤镜
blurred = img.filter(ImageFilter.BLUR)
保存结果
blurred.save('blurred.jpg')
使用OpenCV处理图像
OpenCV更适合图像分析和高级操作:
import cv2读取图像
img = cv2.imread('example.jpg')
转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
边缘检测
edges = cv2.Canny(gray, 100, 200)
显示图像(需配合matplotlib)
import matplotlib.pyplot as plt plt.imshow(edges, cmap='gray') plt.show()
保存结果
cv2.imwrite('edges.jpg', edges)
常见操作示例
以下是一些实用技巧:
- 批量重命名并压缩图像:遍历文件夹,用Pillow调整大小并保存
- 图像增强:调节亮度、对比度(Pillow 的 ImageEnhance 模块)
- 裁剪指定区域:img.crop((left, top, right, bottom))
- 叠加文字水印:使用 ImageDraw.text()
- 人脸检测:OpenCV 提供了预训练的 Haar 分类器
基本上就这些。根据需求选择合适的工具,Pillow 简单易用,OpenCV 功能更强。不复杂但容易忽略细节,比如颜色通道顺序(BGR vs RGB),处理时注意转换。多试几个例子就能熟练。











