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):
ここでの主なレコードは、2つの辞書を1つにマージするzipメソッドです。その後、個別に出力します。この方法も使いやすく、trainimgとtrainlabelを別々にパッケージ化するのにも使えると思います。