python 处理图像_python图像

python 处理图像_python图像Python 图像处理教程 环境准备 1 确保已安装 Python 2 安装必要的图像处理库 Pillow 用于图像读取 显示和基础操作 OpenCV 用于图像读取 显示 基本操作和更高级的图像处理功能 NumPy 用于图像处理和数值计算 安装命令 bashpip install pillowpip install opencv pythonpip

Python图像处理教程:

环境准备

1. 确保已安装Python。

2. 安装必要的图像处理库:

`Pillow`:用于图像读取、显示和基础操作。

`OpenCV`:用于图像读取、显示、基本操作和更高级的图像处理功能。

`NumPy`:用于图像处理和数值计算。

安装命令:

bash

pip install pillow

pip install opencv-python

pip install numpy

图像读取与显示

使用Pillow

python

from PIL import Image

读取图像文件

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

显示图像

img.show()

使用OpenCV

python

import cv2

from matplotlib import pyplot as plt

读取图像文件

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

将图像从BGR转换为RGB

image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

显示图像

plt.imshow(image_rgb)

plt.axis('off')

plt.show()

图像基本操作

缩放和旋转

使用Pillow:

python

缩放图像

resized_image = img.resize((200, 200))

保存缩放后的图像

resized_image.save('resized_output.png')

旋转图像

rotated_image = img.rotate(45)

保存旋转后的图像

rotated_image.save('rotated_output.png')

使用OpenCV:

python

调整图像大小

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

旋转图像

(h, w) = image.shape[:2]

center = (w // 2, h // 2)

M = cv2.getRotationMatrix2D(center, 45, 1.0)

rotated_image = cv2.warpAffine(image, M, (w, h))

裁剪

使用Pillow:

python

裁剪图像

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

保存裁剪后的图像

cropped_image.save('cropped_output.png')

使用OpenCV:

python

图像裁剪

cropped_image = image[50:200, 100:300]

显示裁剪后的图像

plt.imshow(cv2.cvtColor(cropped_image, cv2.COLOR_BGR2RGB))

plt.title('Cropped Image')

plt.axis('off')

plt.show()

图像处理高级操作

图像平滑和锐化

使用Pillow:

python

应用模糊滤镜

blurred_image = image.filter(ImageFilter.GaussianBlur(5))

使用OpenCV:

python

应用高斯模糊

blurred_image = cv2.GaussianBlur(image, (5, 5), 0)

图像二值化和阈值分割

使用OpenCV:

python

二值化图像

_, binary_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)

阈值分割

_, threshold_image = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY_INV)

图像特征提取和描述

边缘检测

使用OpenCV:

python

Canny边缘检测

edges = cv2.Canny(image, 100, 200)

特征描述和匹配

使用OpenCV:

python

SIFT特征检测

sift = cv2.SIFT_create()

keypoints, descriptors = sift.detectAndCompute(image, None)

以上是使用Python进行图像处理的基础教程,涵盖了从环境准备到基本操作,再到高级处理的各个方面。你可以根据具体需求选择合适的库和方法进行更深入的学习和实践。

编程小号
上一篇 2026-05-06 15:56
下一篇 2026-05-06 15:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/45936.html