赞
踩
学习pytorch过程中,发现当cv图片经过ToTensor后颜色发生变化,黄色会变成蓝色,蓝色会变成黄色
这是由于cv2.imread读取图片的时候,是通过BGR形式读取图片,而ToTensor默认以RGB模式,这样转变后会导致颜色完全相反。
正确做法应当是将imread之后的图片修改成RGB模式:
- img=cv2.imread(img_path)
- img_rgb=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#格式转换,
- writer = SummaryWriter("logs")
-
- tensor_trans=transforms.ToTensor()
- tensor_img=tensor_trans(img_rgb)
-
- writer.add_image("bee", tensor_img,3,dataformats="CHW")
这样最后得到的图片颜色就是正常的
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。