构建一个简单的 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. 代码解释

  • 导入库: 导入必要的库,即 cv2NumPy
  • adjust_brightness 函数:
    • 将输入图像转换为 NumPy 数组。
    • 使用 + 操作符将亮度调整值应用于每个像素。
    • 使用 np.clip 函数确保像素值在 0 到 255 之间。
    • 将调整后的数组转换为图像。
    • 返回调整亮度后的图像。
  • 加载图像: 使用 cv2.imread 函数加载输入图像。
  • 调整亮度: 调用 adjust_brightness 函数并传递图像和亮度调整值。
  • 保存图像: 使用 cv2.imwrite 函数保存修改后的图像。
  • 打印消息: 打印成功消息,包括调整后的亮度值。

5. 使用说明

  1. 将代码保存为 image_processor.py 文件。
  2. 将输入图像文件命名为 input.jpg 并将其放置在与 image_processor.py 文件相同的目录中。
  3. 运行代码:python image_processor.py
  4. 修改后的图像将保存为 output.jpg 文件。

6. 扩展

  • 添加其他图像处理功能,例如对比度调整、旋转、裁剪等。
  • 使用命令行参数或图形用户界面来接收用户输入。
  • 使用循环处理多个图像。

7. 总结

本技术文档提供了一个简单的 Python 图像处理程序的示例。您可以根据自己的需要扩展和修改代码以实现更复杂的功能。

posted @ 2024-07-26 07:41  nisan  阅读(127)  评论(0)    收藏  举报
无觅相关文章插件,快速提升流量