import torch
from torch.autograd import Variable
import torch.nn as nn
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread("lena.jpg")
#cv2.imshow("Original", img)
r,g,b = np.dsplit(img, 3) # 彩色图像拆分为rgb
#cv2.imshow('r', r)
#cv2.imshow('g', g)
#cv2.imshow('b', b)
"""
数据维度格式化,(h,w,1) ---> (1,1,h,w)
h: 图像高度
w: 图像宽度
"""
# 将numpy格式化为tensor
r = torch.tensor(r)
g = torch.tensor(g)
b = torch.tensor(b)
# 扩张维度(512,512,1) ---> (512,512,1,1)
r = torch.unsqueeze(r, 3)
g = torch.unsqueeze(g, 3)
b = torch.unsqueeze(b, 3)
# 调整维度(512,512,1,1) ---> (1,1,512,512)
r = r.permute(2,3,0,1).to(torch.float32)
g = g.permute(2,3,0,1).to(torch.float32)
b = b.permute(2,3,0,1).to(torch.float32)
#imgs.to(torch.float32))
conv = nn.Conv2d(1, 1, kernel_size=(3,3))
r=Variable(r)
r=Variable(g)
r=Variable(b)
rc
彩色图片按RGB通道分离,torch单通道卷积后,再合并
最新推荐文章于 2023-01-12 17:35:06 发布
本文介绍了一种使用PyTorch将彩色图片的RGB通道分离,然后进行单通道卷积的方法。实验结果显示,每次卷积操作后得到的组合图像都会有所不同。这种方法可能适用于边缘检测,但由于计算速度较慢,需要依赖更强大的硬件加速。作者计划对此进行后续改进。
摘要由CSDN通过智能技术生成