PyTorch图像处理入门:图片张量、通道分解与合成及裁剪实战
创作时间:
作者:
@小白创作中心
PyTorch图像处理入门:图片张量、通道分解与合成及裁剪实战
引用
CSDN
1.
https://blog.csdn.net/weixin_43031313/article/details/139879605
本文将详细介绍如何使用PyTorch对图片张量进行处理,包括读取图片、建立张量、以及对图片进行通道分解和裁剪等操作。适合有一定Python基础和机器学习背景的读者。
一、导入所需库
from PIL import Image
import torch
import numpy as np
import matplotlib.pyplot as plt
二、读取图片
pic = np.array(Image.open('venice-boat.jpg'))
上述代码解释:先用Image.open()方法读取jpg格式图片,再用np.array()方法将图片转成numpy数组(ndarray)格式。
三、建立张量
图片在PyTorch中以3维张量表示。以下代码将图片转换成张量形式:
pic_tensor = torch.from_numpy(pic)
打印张量数据内容:
print(pic_tensor)
输出:
tensor([[[ 47, 138, 221], # 每个像素点的RGB颜色值
[ 49, 138, 220],
[ 50, 139, 221],
...,
[ 89, 149, 221],
[ 87, 150, 221],
[ 86, 149, 220]],
[[ 47, 138, 221],
[ 49, 138, 220],
[ 50, 139, 221],
...,
[ 88, 148, 220],
[ 85, 148, 219],
[ 85, 148, 219]],
[[ 47, 138, 221],
[ 49, 138, 220],
[ 50, 139, 221],
...,
[ 84, 147, 218],
[ 84, 147, 218],
[ 83, 146, 217]],
...,
四、通过张量对图片进行操作
(注:在以下的各个操作下,还需要用plt.show()语句才能将图片输出到屏幕上。)
1、打印整张图片
plt.imshow(pic)
2、分RGB通道打印图片
输出通道1:
plt.imshow(pic_tensor[:, :, 0].numpy())
输出通道2:
plt.imshow(pic_tensor[:, :, 1].numpy())
输出通道3:
plt.imshow(pic_tensor[:, :, 2].numpy())
注意: 三通道并不是简单的算术叠加,例如以下代码的输出和原图大相径庭:
from PIL import Image
import torch
import numpy as np
import matplotlib.pyplot as plt
pic_1 = np.array(Image.open('Channel_1.jpg'))
pic_2 = np.array(Image.open('Channel_2.jpg'))
pic_3 = np.array(Image.open('Channel_3.jpg'))
pic_tensor_1 = torch.from_numpy(pic_1)
pic_tensor_2 = torch.from_numpy(pic_2)
pic_tensor_3 = torch.from_numpy(pic_3)
pic_tensor = pic_tensor_1 + pic_tensor_2 + pic_tensor_3
plt.imshow(pic_tensor.numpy())
plt.show()
输出图片:
3、裁剪图片
对图片张量的裁剪在其前2个维度上进行(第3个维度为颜色通道),示例代码如下:
plt.imshow(pic_tensor[50: 1050, 400: 800, :].numpy())
裁剪结果:
热门推荐
SQL语法——DQL (附操作讲解)
廿一工人讨薪被裁驳村居律师援助得解困
真正蛋白王!黑豆降血糖、清壞膽固醇 青仁黑豆與黃仁黑豆功效差很大
解锁玉林“赏花地图” 共赴春日浪漫之约
服务器电源开关的正确接线方法
仙客来种子什么时候播种
如何运用现货黄金常用的技术指标?这些指标的局限性有哪些?
二月为啥只有28天?真相在这里
农历月份的区分
佛教至高境界——解脱(佛教修行的最终目标与实现方式)
文竹叶子发黄干枯怎么办?全方位养护指南
股市高抛低吸的操作要点是什么?这种操作要点在实际交易中有哪些难点?
定制化提升智能阅卷系统:实现教学成绩在线查询
打造湿地花城特色公园城市 今年武汉将建设提升150座公园
发现自我风格:从年龄到个性的时尚之旅
右手麻木是什么病的前兆?女性应该看哪个科?
昆山属于哪个市?了解昆山的行政区划与隶属关系
洛阳钼业投资价值深度分析
黄河进入主汛期 河南数字技术助力防汛抗洪
《燕歌行》该如何理解?创作背景是什么?
磁铁拉力:神奇而无形的吸引力
爱因斯坦发明了什么?爱因斯坦的故事
中国女足留洋球员闪耀欧洲五大联赛:全场数据与表现解析
杨莉娜、李梦雯全场首发,沈梦露替补出战:女足留洋新赛季表现亮眼
智慧楼宇:现代建筑的智能化管理解决方案与应用解析
古诗词中的落叶:七首唯美诗词,叶落成诗,岁月静好
诊断狼疮性肾炎的检查方法
人民日报聚焦德州扒鸡:品味非遗美食,感受浓浓年味
哪类灌封胶导热性能好?四种常见类型对比分析
《哪吒2》破百亿!港澳下周公布上映时间,海外票房持续发酵