当前位置: 首页 > article >正文

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

在 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 C

np_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()

http://www.kler.cn/a/407722.html

相关文章:

  • 【v5lite】调用onnx推理
  • 网站渗透测试工具zap2docker-stable
  • 微信小程序包之加农炮游戏
  • 微前端基础知识入门篇(二)
  • 2024年亚太地区数学建模大赛A题-复杂场景下水下图像增强技术的研究
  • 【深度学习之回归预测篇】 深度极限学习机DELM多特征回归拟合预测(Matlab源代码)
  • # linux 清理指定目录下,指定时间的历史文件
  • ssm旅游推荐系统的设计与开发
  • Oracle SQL优化③——表的连接方式
  • 【数据结构-队列】力扣225. 用队列实现栈
  • 人工智能之机器学习5-回归算法1【培训机构学习笔记】
  • 【STM32】启动配置和自动串口下载
  • 性能监控利器:Ubuntu 22.04 上的 Zabbix 安装与配置指南
  • windows实现VNC连接ubuntu22.04服务器
  • Java 基础知识 (集合框架 + 并发编程 + JVM 原理 + 数据结构与算法)
  • 2023年下半年信息安全工程师《案例分析》真题答案(2)
  • 移远通信推出全新5G RedCap模组RG255AA系列,以更高性价比加速5G轻量化大规模商用
  • 中小企业人事管理自动化:SpringBoot实践
  • Oracle分析表和索引
  • 微信小程序添加图片验证码
  • 11.19 机器学习-岭回归+拉索回归+逻辑回归
  • 生成式AI;语义通信技术;生成式AI辅助的云边协同算法及其可解释性
  • Fakelocation Server服务器/专业版 Windows11
  • 深度学习2
  • Pytorch使用手册-Build the Neural Network(专题五)
  • 如何下载链接为blob类型的视频,video 标签 src:blob 链接转下载MP4