彩色图片按RGB通道分离,torch单通道卷积后,再合并

本文介绍了一种使用PyTorch将彩色图片的RGB通道分离,然后进行单通道卷积的方法。实验结果显示,每次卷积操作后得到的组合图像都会有所不同。这种方法可能适用于边缘检测,但由于计算速度较慢,需要依赖更强大的硬件加速。作者计划对此进行后续改进。
摘要由CSDN通过智能技术生成
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 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值