Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式


Posted in Python onJune 02, 2020

传统使用opencv自带的swapaxes进行转换,然后使用pytorch的from_numpy转为tensor

例如:

img = img.swapaxes(1,2).swapaxes(0,1)

但是有一个常用的图像增广模块albumentations模块中的img_to_tensor进行直接转换

Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式

注意:我这里使用unsqueeze是为了验证模型的输出,如果使用pytorch的dataset则不需要使用这个操作

补充知识:pytorch只用中要注意通道问题

cv读进来的是BGR图像,通道是hcw,在torch中使用要注意维度转换

def __getitem__(self, idx):
    '''Load image.
    Args:
     idx: (int) image index.
    img_org = Image.open(self.root_src + 'reference_cutBlock' + fname_org)
    Returns:
     img: (tensor) image tensor.
     loc_targets: (tensor) location targets.
     cls_targets: (tensor) class label targets.
    '''
    # Load image
    fname_org = self.fnames[idx]
    img_org = cv2.imread(self.root_src + 'dn_dataset/' + fname_org)
    # img_org = np.asarray(img_org)
 
    coin = np.random.randint(0, 50)
    img_dis = skimage.util.random_noise(img_org, mode='gaussian', seed=None,
                      var=(coin / 255.0) ** 2) # add gaussian noise
 
    # img_dis = img_dis[:, :, (2, 1, 0)] # bgr012 to rgb210
    img_dis = img_dis.transpose([2, 0, 1]) # hwc to chw
    img_dis = img_dis[(2, 1, 0), :, :] # bgr012 to rgb210
 
    img_org = img_org[:, :, (2, 1, 0)]/255.0 # bgr012 to rgb210
    img_org = img_org.transpose([2, 0, 1]) # hwc to chw
 
    img_dis = torch.from_numpy(img_dis).float()
    img_org = torch.from_numpy(img_org).float()
    # fname_org_dis = self.fnames_dis[idx]
    # img_dis = Image.open(self.root_src + 'distorted_train_block/' + fname_org_dis)
 
    # if img_org.mode != 'RGB':
    #   img_org = img_org.convert('RGB')
    #
    # if img_dis.mode != 'RGB':
    #   img_dis = img_dis.convert('RGB')
    # img_org = self.transform(img_org)
    # img_dis = self.transform(img_dis)
 
    return img_dis, img_org

transforms.ToTensor() 有两层含义,一个是转化成Tensor,另一个是进行归一化,此段代码,没有采用此语句,而是分两步完成,因为img_dis,已经实现归一化。

以上这篇Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
May 22 Python
mac PyCharm添加Python解释器及添加package路径的方法
Oct 29 Python
用python打印1~20的整数实例讲解
Jul 01 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
Python xlrd excel文件操作代码实例
Mar 10 Python
Python过滤序列元素的方法
Jul 31 Python
Python实现快速大文件比较代码解析
Sep 04 Python
python-jwt用户认证食用教学的实现方法
Jan 19 Python
python前后端自定义分页器
Apr 13 Python
基于pycharm实现批量修改变量名
Jun 02 #Python
pytorch读取图像数据转成opencv格式实例
Jun 02 #Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 #Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
Jun 02 #Python
Pandas读取csv时如何设置列名
Jun 02 #Python
python os模块常用的29种方法使用详解
Jun 02 #Python
完美解决pycharm 不显示代码提示问题
Jun 02 #Python
You might like
用PHP编写PDF文档生成器
2006/10/09 PHP
php 图片上添加透明度渐变的效果
2009/06/29 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
JS批量修改PS中图层名称的方法
2014/01/26 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
详解nodejs中exports和module.exports的区别
2017/02/17 NodeJs
ES6中Math对象的部分扩展
2017/02/20 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
node.js利用socket.io实现多人在线匹配联机五子棋
2018/05/31 Javascript
用vue快速开发app的脚手架工具
2018/06/11 Javascript
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
[01:19]DOTA2城市挑战赛报名开始 开启你的城市传奇
2018/03/23 DOTA
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
Python实现翻转数组功能示例
2018/01/12 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
pandas map(),apply(),applymap()区别解析
2021/02/24 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
英文简历自荐信范文
2013/12/11 职场文书
调查研究项目计划书
2014/04/29 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
党委班子剖析材料
2014/08/21 职场文书
公司授权委托书
2014/10/17 职场文书
2015年销售工作总结范文
2015/03/30 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
一年之计:2019年下半年的计划
2019/05/07 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书