分享

如何用python处理图像

 山峰云绕 2023-03-24 发布于贵州

https://m.toutiao.com/is/A8BT3Qx/?= 



Python有许多库可以用来处理图像,其中最常用的是Pillow和OpenCV。以下是使用这两个库的基本图像处理示例:

## 使用Pillow库

Pillow是一个Python Imaging Library(PIL)的分支,它提供了许多图像处理功能,例如打开和保存图像文件,调整大小,裁剪,旋转,合并图像等。

以下是一个基本的Pillow图像处理示例:

```

from PIL import Image

# 打开图像文件

image = Image.open('example.jpg')

# 显示图像

image.show()

# 调整图像大小

resized_image = image.resize((300, 300))

# 保存图像

resized_image.save('resized_image.jpg')

# 裁剪图像

cropped_image = image.crop((100, 100, 400, 400))

# 旋转图像

rotated_image = image.rotate(90)

# 合并图像

image1 = Image.open('example1.jpg')

image2 = Image.open('example2.jpg')

merged_image = Image.merge('RGB', (image1, image2))

# 显示处理后的图像

resized_image.show()

cropped_image.show()

rotated_image.show()

merged_image.show()

```

此示例打开名为`example.jpg`的图像文件,显示图像并进行调整大小,裁剪,旋转和合并。然后它将处理后的图像保存到文件并显示它们。

## 使用OpenCV库

OpenCV是一个功能强大的计算机视觉库,它提供了许多图像处理和计算机视觉功能,例如图像过滤,边缘检测,图像分割,特征提取等。

以下是一个基本的OpenCV图像处理示例:

```

import cv2

# 读取图像文件

image = cv2.imread('example.jpg')

# 显示图像

cv2.imshow('image', image)

cv2.waitKey(0)

cv2.destroyAllWindows()

# 调整图像大小

resized_image = cv2.resize(image, (300, 300))

# 保存图像

cv2.imwrite('resized_image.jpg', resized_image)

# 裁剪图像

cropped_image = image[100:400, 100:400]

# 旋转图像

(rows, cols) = image.shape[:2]

M = cv2.getRotationMatrix2D((cols/2, rows/2), 90, 1)

rotated_image = cv2.warpAffine(image, M, (cols, rows))

# 显示处理后的图像

cv2.imshow('resized_image', resized_image)

cv2.imshow('cropped_image', cropped_image)

cv2.imshow('rotated_image', rotated_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

```

此示例使用OpenCV读取名为`example.jpg`的图像文件,显示图像并进行调整大小,裁剪和旋转。然后它将处理后的图像保存到文件并显示它们。

需要注意的是,OpenCV读取的图像格式为BGR,而不是常见的RGB格式。在进行任何处理之前,需要将图像从BGR格式转换为RGB格式。

最后记得点赞评论哦!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约