我是靠谱客的博主 神勇百合,最近开发中收集的这篇文章主要介绍pytorch中transforms的使用限制1.pytroch 的transform中图像增强方法都是基于PIL图像做的2.numpy图片格式转化为PIL格式3.PIL图片格式转化为numpy格式4.对视频帧的处理(skvideo.io.vread()),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
pytorch中transforms的使用限制
- 1.pytroch 的transform中图像增强方法都是基于PIL图像做的
- 2.numpy图片格式转化为PIL格式
- 3.PIL图片格式转化为numpy格式
- 4.对视频帧的处理(skvideo.io.vread())
1.pytroch 的transform中图像增强方法都是基于PIL图像做的
例如:
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
a = Image.open('path') #读进来的图片是PIL格式,转化为np数组后是RGB格式
a = transform(a)
2.numpy图片格式转化为PIL格式
可以通过PIL中Image中的fromarray,直接将一个数组对象转换成为PIL中的图片对象
a = cv2.imread('path') #以BGR的顺序读进来,是np数组
b =imgplt.imread(('path')) #以BGR的顺序读进来,是np数组
c = plt.imread('path') #以BGR的顺序读进来,是np数组
d = Image.fromarray(img) #img为a,b,c
3.PIL图片格式转化为numpy格式
image = Image.open('path') #读进来的图片是PIL格式,转化为np数组后是RGB格
img = np.array(image)
4.对视频帧的处理(skvideo.io.vread())
import skvideo
skvideo.setFFmpegPath('/opt/conda/bin/')
import skvideo.io
video_data = skvideo.io.vread('视频路径')
#对视频帧进行transform操作
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
video_length = video_data.shape[0]
video_height = video_data.shape[1]
video_width = video_data.shape[2]
video_channel = video_data.shape[3]
transformed_video = torch.zeros([video_length, video_channel, video_height, video_width])
for frame_idx in range(video_length):
frame = video_data[frame_idx]
frame = Image.fromarray(frame)
frame = transform(frame) #对视频的帧进行transform
transformed_video[frame_idx] = frame
最后
以上就是神勇百合为你收集整理的pytorch中transforms的使用限制1.pytroch 的transform中图像增强方法都是基于PIL图像做的2.numpy图片格式转化为PIL格式3.PIL图片格式转化为numpy格式4.对视频帧的处理(skvideo.io.vread())的全部内容,希望文章能够帮你解决pytorch中transforms的使用限制1.pytroch 的transform中图像增强方法都是基于PIL图像做的2.numpy图片格式转化为PIL格式3.PIL图片格式转化为numpy格式4.对视频帧的处理(skvideo.io.vread())所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复