欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 图像处理-简单的图像操作

图像处理-简单的图像操作

2026/5/15 21:57:09 来源:https://blog.csdn.net/weixin_44194001/article/details/143918967  浏览:    关键词:图像处理-简单的图像操作

在 Python 的 Pillow(即 PIL)库中,使用 Image.open 打开的图片默认维度是 H, W, C(高度、高度、通道数)。
Image.open 打开的图像是 PIL.Image.Image 类型,不是普通的 NumPy 数组。它是一个专门用于处理图像的类,可以进行操作如显示、裁剪、旋转等。

img = Image.open('example.jpg')  # H W C
np_img = np.asarray(img).transpose(2, 0, 1)  # 转换为 (C, H, W)

np.asarray(img) 会将 PIL.Image.Image 对象转换为 NumPy 数组类型

plt.figure(figsize=(10, 5))  #W H

这里设置的图形窗口,宽度为10,高度为5

import numpy as np
import torch
from PIL import Image
import matplotlib.pyplot as plt
import os
import matplotlib.pyplot as plt
from matplotlib import rcParams# 设置中文字体(SimHei 是黑体)
rcParams['font.sans-serif'] = ['SimHei']  # 用黑体显示中文
rcParams['axes.unicode_minus'] = False  # 解决负号显示问题
os.environ["OMP_NUM_THREADS"] = "1"def rgb_to_gray(img):gray_img = np.empty((1, img.shape[0], img.shape[1]), np.dtype('float32'))img = np.transpose(img, (1, 2, 0))  # 将通道移到最后img = Image.fromarray(np.uint8(img))img = img.convert('L')  # 转换为灰度图gray_img = np.expand_dims(np.asarray(img), axis=0)return gray_img# 读取原图
img = Image.open('example.jpg')  #H W Cnp_img = np.asarray(img).transpose(2, 0, 1)  # 转换为 (C, H, W)# 转换为灰度图
gray_img = rgb_to_gray(np_img)# 显示原图和灰度图
plt.figure(figsize=(10, 5))plt.subplot(1, 2, 1)
plt.title("原图")
plt.imshow(img)
plt.axis('off')plt.subplot(1, 2, 2)
plt.title("灰度图")
plt.imshow(gray_img[0], cmap='gray')
plt.axis('off')  #关闭坐标轴plt.tight_layout()  #自动调整
plt.show()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词