from PIL import Image import numpy as np import os # 设置阈值(可根据具体情况调整) threshold = 128 path1 = r'resultCD' path2 = r'result1' if not os.path.exists(path2): os.makedirs(path2) # 遍历文件夹中的所有图片 for file_name in os.listdir(path1): if file_name.endswith(".jpg") or file_name.endswith(".png"): # 读取图片并转换为灰度图像 img = Image.open(os.path.join(path1, file_name)).convert("L") # 将灰度图像转换为numpy数组 arr = np.array(img) # 根据阈值进行二值化 arr[arr < threshold] = 0 arr[arr >= threshold] = 255 # 转换回PIL Image对象并保存为PNG格式 out_img = Image.fromarray(arr.astype(np.uint8)) out_img.save(os.path.join(path2, file_name[:-4] + "_binary.png"))
用于深度学习分割任务标签计算之前的二值化操作,将图片转换为8位的二值图像,当然,这里标签只有背景和变化两类(变化检测)
标签:arr,name,img,python,灰度,file,os,255 From: https://www.cnblogs.com/yokon/p/17392821.html