omnigen_seg / test.py
zhui711's picture
Upload folder using huggingface_hub
4f08626 verified
Raw
History Blame Contribute Delete
1.59 kB
# import cv2
# # 必须加上 cv2.IMREAD_UNCHANGED,原封不动地读取
# img = cv2.imread('/home/wenting/zr/wt_dataset/LIDC_IDRI/img_complex_fb_256/LIDC-IDRI-0001/0002.png', cv2.IMREAD_UNCHANGED)
# # 通过查看数据的类型 (dtype) 来判断
# if img.dtype == 'uint8':
# print("这是一张 8 位图像 (像素值范围 0-255)")
# elif img.dtype == 'uint16':
# print("这是一张 16 位图像 (像素值范围 0-65535)")
# else:
# print(f"其他格式: {img.dtype}")
# print(f"图像形状: {img.shape}")
# # 如果是 (H, W),说明是单通道灰度图;如果是 (H, W, 3),说明是彩色图
import cv2
def check_image_channels_cv2(image_path):
# 使用 IMREAD_UNCHANGED 保持图像原有通道数读取
img = cv2.imread(image_path, cv2.IMREAD_UNCHANGED)
if img is None:
return "错误:无法读取图像,请检查路径。"
# 判断维度长度
if len(img.shape) == 2:
return "该图像是单通道(灰度图)。"
elif len(img.shape) == 3:
channels = img.shape[2]
if channels == 3:
return "该图像是三通道(RGB/BGR)。"
elif channels == 4:
return "该图像是四通道(包含透明通道的 RGBA/BGRA)。"
else:
return f"该图像有 {channels} 个通道。"
else:
return "未知的图像格式。"
# 测试脚本
result = check_image_channels_cv2("/home/wenting/zr/dataset/OmniGenCXR_inference/outputs/1024_256_7events_lora6000_50steps/0a6a34da-654c2878-8cc9db4d-0787bc5d-3dccbe79.png")
print(result)