1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #4.utils包(一些计算机视觉领域经常用到的操作) ##4.1 make_grid函数 --> 将若干张图像拼成一幅图像 ###4.1.1 tensor: 1.Tensor类型必须是四维B×C×H×W,用来表示一组mini-batch的Tensor 2.List类型必须是一组大小相同的图片 ###4.1.2 nrow: 表示组成的大图中每一行包括的小图的数量 ###4.1.3 padding: 表示每张小图四周的padding大小 ###4.1.4 normalize: 1.True表示图像会被标准化(控制在(0,1)范围内,最大值最小值通过batch中所有图像的最大值最小值决定) ###4.1.5 value_range: 用元组(min,max)作为标准化图像时用到的最大值和最小值 ###4.1.6 scale_each: 1.True表示每个图片使用自己的最值 ###4.1.7 pad_value: 表示pad填充的像素的颜色 torchvision.utils.make_grid(tensor, nrow=8, padding=2, normalize=False,value_range=None, scale_each=False, pad_value=0)
##4.2 save_image函数 --> 将给定的Tensor保存成图片 ###4.2.1 tensor: 1.如果给定的是一个mini-batch的Tensor,会自动调用make_grid函数将图片组合成网格形式再保存 2.List类型 ###4.2.2 fp: 将图片保存到该参数指定的文件路径/文件对象 1.string类型/文件对象(file object)类型 ###4.2.3 format: 1.fp为文件名,则忽略 2.fp为文本对象,则参数经常被使用 torchvision.utils.save_image(tensor,fp,format=None) ##4.3 draw_bounding_boxes函数 --> 将给定的图像中画出bounding box。输入的图像必须是uint8类型,且范围在0到255之间 ###4.3.1 image:Tensor类型 表示被操作的图片 Tensor大小为C×H×W,dtype类型为uint8 ###4.3.2 boxes:Tensor类型 如果一张图像上有N个bounding box (box的四个点以(xmin, ymin, xmax, ymax)的形式进行组织) --注意,这个坐标是图像上的绝对坐标。 torchvision.utils.draw_bounding_boxes(image,boxes,labels=None,colors,fill=False,width=1,font=None,font_size=10)
##4.4 draw_segmentation_masks函数 ###4.4.1 image:Tensor类型,大小是(3, H, W),类型是uint8 ###4.4.2 masks:Tensor类型,大小是(num_masks, H, W)或(H, W),dtype是bool类型 ###4.4.3 alpha:float类型,大小在0到1之间,表示mask的透明度,0表示完全透明,1表示不透明 ###4.4.4 colors:list类型或None。list类型来指定每个mask的颜色,颜色可以用字符串"red"或"#FF00FF"来表示,也可以用RGB元组(0, 255, 255)表示 torchvision.utils.draw_segmentation_masks(image, masks, alpha=0.8, colors=None)
|