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 中的with关键字使用详解
Sep 11 Python
Python Sqlite3以字典形式返回查询结果的实现方法
Oct 03 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
Python查找第n个子串的技巧分享
Jun 27 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
Feb 21 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
PyTorch: Softmax多分类实战操作
Jul 07 Python
Python selenium模拟网页点击爬虫交管12123违章数据
May 26 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
通过JavaScript或PHP检测Android设备的代码
2011/03/09 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
php实现mysql事务处理的方法
2014/12/25 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
php 从一个数组中随机的取出若干个不同的数实例
2016/12/31 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
2015/10/12 Javascript
JavaScript生成二维码图片小结
2015/12/27 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
PyTorch: Softmax多分类实战操作
2020/07/07 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
python list的index()和find()的实现
2020/11/16 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
汇源肾宝广告词
2014/03/20 职场文书
大学生个人求职信例文
2014/07/07 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
2015年教师新年寄语
2014/12/08 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书