opencv读取图像和pillow读取图像的转为torch.tensor的区别
问题描述:
有一个git源码是使用pillow读取图像,然后转为tensor后进行resize操作,但是我现在接收到的图像数据是opencv格式的,最简单的操作是我直接将opencv的格式转为pil格式,然后继续下一步就行。但是这样就多了一个数据转换,所以不想这么干,简介的步骤就是将opencv的numpy格式的数据直接转为tensor,然后进行resize。
基于以上需求,在这个过程中,主要问题花在数据对其上,就是需要对比以下转换的数据是否一致
import cv2 import torch from PIL import Image from torchvision import transforms #pil加载的图像默认是whc,rgb image = Image.open("20191101135203728.jpg") #cv2加载的图像默认是hwc,bgr img_cv = cv2.imread("20191101135203728.jpg") # 必须进行转换才行 img_cv = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB).transpose(2,0,1) #把两个转换到tensor进行测试 resize_func_tensor = transforms.functional.pil_to_tensor(image) cp_tensor = torch.tensor(img_cv) absolute_difference = torch.abs(resize_func_tensor - cp_tensor).sum() #测试结果为0 print("两种方式的输出结果的绝对差之和:", absolute_difference.item())
本文来自博客园,作者:海_纳百川,转载请注明原文链接:https://www.cnblogs.com/chentiao/p/18039027,如有侵权联系删除
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2023-02-28 ffmpeg执行时取消输出
2023-02-28 ffmpeg将多个图片合并为一个视频