构建一个简单的 Python 图像处理程序
构建一个简单的 Python 图像处理程序
1. 简介
本文档介绍如何使用 Python 构建一个简单的图像处理程序。程序将能够读取图像、调整亮度并保存修改后的图像。
2. 所需库
- OpenCV (cv2): 用于图像处理和操作。
- NumPy: 用于数组操作和数学计算。
3. 代码实现
import cv2
import numpy as np
def adjust_brightness(image, value):
"""调整图像亮度。
Args:
image: 输入图像。
value: 亮度调整值,范围为 -255 到 255。
Returns:
调整亮度后的图像。
"""
# 将图像转换为 NumPy 数组
image_array = np.array(image)
# 将亮度调整值应用于图像
adjusted_array = image_array + value
# 确保像素值在 0 到 255 之间
adjusted_array = np.clip(adjusted_array, 0, 255)
# 将调整后的数组转换为图像
adjusted_image = Image.fromarray(adjusted_array.astype(np.uint8))
return adjusted_image
# 加载图像
image = cv2.imread('input.jpg')
# 调整图像亮度
brightness_value = 50
adjusted_image = adjust_brightness(image, brightness_value)
# 保存修改后的图像
cv2.imwrite('output.jpg', adjusted_image)
print(f'图像已成功保存为 output.jpg,亮度调整值为 {brightness_value}')
4. 代码解释
- 导入库: 导入必要的库,即
cv2和NumPy。 adjust_brightness函数:- 将输入图像转换为 NumPy 数组。
- 使用
+操作符将亮度调整值应用于每个像素。 - 使用
np.clip函数确保像素值在 0 到 255 之间。 - 将调整后的数组转换为图像。
- 返回调整亮度后的图像。
- 加载图像: 使用
cv2.imread函数加载输入图像。 - 调整亮度: 调用
adjust_brightness函数并传递图像和亮度调整值。 - 保存图像: 使用
cv2.imwrite函数保存修改后的图像。 - 打印消息: 打印成功消息,包括调整后的亮度值。
5. 使用说明
- 将代码保存为
image_processor.py文件。 - 将输入图像文件命名为
input.jpg并将其放置在与image_processor.py文件相同的目录中。 - 运行代码:
python image_processor.py。 - 修改后的图像将保存为
output.jpg文件。
6. 扩展
- 添加其他图像处理功能,例如对比度调整、旋转、裁剪等。
- 使用命令行参数或图形用户界面来接收用户输入。
- 使用循环处理多个图像。
7. 总结
本技术文档提供了一个简单的 Python 图像处理程序的示例。您可以根据自己的需要扩展和修改代码以实现更复杂的功能。

浙公网安备 33010602011771号