image_segmentation/sample code/Image Segmentation/unet_42-master/utils/label2png.py

41 lines
1.3 KiB
Python
Raw Permalink Normal View History

2025-01-20 16:36:01 +08:00
# -*- coding: utf-8 -*-
import os.path as osp
import shutil
import os
from tqdm import tqdm
import cv2
# 此函數將原始的紅色圖像轉換為黑白的二值圖像
def gt2png(folder_path="C:/Users/chenmingsong/Desktop/unetnnn/data/Training_GT", save_folder="C:/Users/chenmingsong/Desktop/unetnnn/data/Training_Labels"):
# folder_path = osp.join(sys_path, "ISBI2016_ISIC_Part1_Training_GroundTruth")
# save_folder = osp.join(sys_path, "labels")
# 如果儲存資料夾已存在,則刪除後重新建立
if osp.isdir(save_folder):
shutil.rmtree(save_folder)
os.makedirs(save_folder)
else:
os.makedirs(save_folder)
images = os.listdir(folder_path)
# 使用進度條顯示轉換進度
with tqdm(total=len(images)) as pbar:
for image in images:
image_name = image.split(".")[0]
src_path = osp.join(folder_path, image)
# 讀取圖像,將其轉換為灰階模式
img = cv2.imread(src_path, 0)
# 將非零像素設為 255
img[img > 0] = 255
save_path = osp.join(save_folder, image_name + ".png")
# 儲存轉換後的圖像
cv2.imwrite(save_path, img)
pbar.update(1)
print("標籤轉換完成")
if __name__ == '__main__':
gt2png()