assert len(images) == len(segmentations)#判断长度是否相等
Cómo aumentar la dimensionalidad
train_image_data_r = train_image_data_r [:, : ,: ,np.newaxis]
train_label_data_r =train_label_data_r [:, : ,: ,np.newaxis]
Conversión de canal
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)
Cuando se lee como -1, la imagen es (720, 960, 4)
cuando se lee como 1, la imagen es (720, 960, 3), cuando el color verdadero se
lee como 0, la imagen es (720, 960 ,), gráfico de grados gris
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
Para imágenes con rutas chinas, imread no puede leerlas. Utilice la función cv2.imdecode anterior para leer imágenes con rutas chinas. flag = -1, 0, 1 es lo mismo que 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):
El registro principal aquí es el método zip, que fusiona dos diccionarios en uno. Luego imprímalo por separado. Creo que este método también es fácil de usar y también se puede usar para empaquetar trainimg y trainlabel por separado.