import torch
import random
import numpy as np
import os
import matplotlib.pyplot as plt
from PIL import Image
imge = np.random.randint(0,256,size=(20,10))
#最小的那个数字0表示为黑,最大的那个数字256表示为白
# image = np.random.randint(0,256,size=(20,10,3))
plt.imshow(imge,cmap='gray')
plt.show() # 显示图片
imge1 = np.random.randint(0,2,size=(10,5))
#最小的那个数字0表示为黑,最大的那个数字1表示为白
print(imge1)
print(imge1.shape)
plt.imshow(imge1,cmap='gray')
plt.show()
imge2 = np.random.randint(0,10,size=(10,5))
#最小的那个数字0表示为黑,最大的那个数字9表示为白
print(imge2)
print(imge2.shape)
plt.imshow(imge2,cmap='gray')
plt.show()
关于VOC数据集的单通道标签图为什么是彩色的疑问:
索引图的应用。
索引图像包含一个数据矩阵data和一个调色板矩阵map,数据矩阵可以使uint8,uint16或双精度类型,而调色板矩阵则总是一个m*3的双精度矩阵,当图像转换成索引模式时,系统自动归纳包含大多数的256种颜色表。主要用于网络发布,例如双方标准化map颜色索引图,只需要传输uint8的数据矩阵,接收方显示时解析即可。
索引图,就是带调色盘(palette),调色盘内定义了若干颜色。8位深度,是指在8位索引图下,调色盘最大颜色数为8位,也就是256色,然后每个像素用1个字节表示该像素为第几个颜色,显示图像时查表得到对应的颜色。
PNG支持索引图
VOC数据集原图:
VOC数据集标签图:(白线是加上去的,可以忽略。内面的部分其实是有区别于白线外的)
原图就是普通的RGB图像,标签就是灰度图或者8位彩色图。
原图的shape为[height, width, 3],标签的shape就是[height, width],对于标签而言,每个像素点的内容是一个数字,比如0、1、2、3、4、5……,代表这个像素点所属的类别。
语义分割的工作就是对原始的图片的每一个像素点进行分类,所以通过预测结果中每个像素点属于每个类别的概率与标签对比,可以对网络进行训练。
————————————————
版权声明:本文为CSDN博主「Bubbliiiing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44791964/article/details/107687696