assert len(images) == len(segmentations)#判断长度是否相等
怎么增加 维数
train_image_data_r = train_image_data_r [:, : ,: ,np.newaxis]
train_label_data_r =train_label_data_r [:, : ,: ,np.newaxis]
通道转换
label_data=cv2.cvtColor(label_data,cv2.COLOR_BGR2GRAY)
label_data = cv2.cvtColor(label_data, cv2.COLOR_GRAY2RGB)
cv_img=cv2.imread("C:/Users/Terry/Desktop/trial/image0.bmp",-1)
读成-1的时候,图片是(720, 960, 4)
读成1的时候,图片是(720, 960, 3),真彩色
读成0的时候,图片是(720, 960,),灰度图
def cv_imread(filePath):
cv_img = cv2.imdecode(np.fromfile(filePath, dtype=np.uint8), -1)
#cv2.imshow(cv_img)
#cv2.waitKey(0)
return cv_img
对于有中文路径的图片,imread就不能读出了,使用上面的cv2.imdecode这个函数,可以把有中文路径的图片读出。flag=-1,0,1和imread一样。
with open(image_list_file) as infile:
for line in infile:
data_path = os.path.join(train_image_folder, line.split()[0])
images_path.append(data_path)
label_path = os.path.join(train_image_folder, line.split()[1])
labels_path.append(label_path)
for image, label in zip(images_path, labels_path):
主要这里记录一下,zip方法,把两个字典合并成一个。然后分别输出。感觉这个方法也比价好用,也可以用在把trainimg,trainlabel分别打包输出。