python目标检测结果图像素转换(二值图和灰度图)

昨天在复现模型的时候发现test的结果图都是黑色的,输出像素发现白色是1,需要将白的像素乘以255,然后再输出,自己写的脚本如下(为了加快速度,用gpu转换,但是感觉速度还是一般)

python 复制代码
import os

from PIL import Image
import torch
import torchvision.transforms as transforms

device=torch.device("cuda" if torch.cuda.is_available() else "cpu")
def process_images_in_folder(input_folder, output_folder):
    # 确保输出文件夹存在,如果不存在则创建
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    image_files= [f for f in os.listdir(input_folder) if os.path.isfile(os.path.join(input_folder, f)) and any(f.endswith(extension) for extension in ['.jpg', '.jpeg', '.png', '.bmp'])]
    total_images = len(image_files)
    # 遍历输入文件夹中的所有文件
    for idx,filename in enumerate(image_files,1):
        # 拼接输入和输出文件的完整路径
        input_image_path = os.path.join(input_folder, filename)
        output_image_path = os.path.join(output_folder, filename)
        # 检查文件是否为图像文件
            # 对图像应用相同的处理逻辑
        modify_pixel(input_image_path, output_image_path)
        print(f'Processed {idx}/{total_images} images')
def modify_pixel(input_image_path,output_image_path ):

    img=Image.open(os.path.join(input_image_path))
    img_tensor=transforms.ToTensor()(img).unsqueeze(0).to(device)
    # 获取图像尺寸
    width, height = img.size

    # 循环遍历每个像素,并根据像素值做相应处理
    for x in range(width):
        for y in range(height):
            # 获取原始像素值
            r = img.getpixel((x, y))
            # 如果像素值为1,则将像素值设为255(白色)
            r=255*r
         # 将处理后的像素值设置到新图像中
            img.putpixel((x, y), (r))
    # 保存处理后的图像
    img.save(output_image_path)



# 调用函数处理图像
input_folder="/root/autodl-tmp/SINet-V2-main/res/SINet_V2/COD10K"
output_folder="/root/autodl-tmp/SINet-V2-main/res/SINet-V2-White/COD10K"
process_images_in_folder(input_folder,output_folder)

自己更改一下输入和输出的文件夹名称就可以,可以实时查看处理的进度。

相关推荐
天天代码码天天5 分钟前
C# OnnxRuntime 部署 DINOv3 密集特征可视化
人工智能
byoass11 分钟前
自动化任务系列之五:PDF批量转换+自动清理——文件格式规范化工作流
网络·人工智能·安全·云计算
nix.gnehc11 分钟前
读懂 OpenSpec:AI 编码时代的规范驱动开发新范式
人工智能·驱动开发·sdd·openspec
锅挤17 分钟前
来一篇儿:《Saliency Attack: Towards Imperceptible Black-box Adversarial Attack》
论文阅读
咚咚王者24 分钟前
人工智能之大模型应用 基础入门第三章 大模型赋能行业与未来展望
人工智能
阿杰学AI27 分钟前
AI核心知识141—大语言模型之 对齐难题(简洁且通俗易懂版)
人工智能·安全·ai·语言模型·自然语言处理·aigc·ai对齐
qq_4609784029 分钟前
html标签怎么表示小字号文字_small标签语义说明【操作】
jvm·数据库·python
qq_4135020231 分钟前
SQL更新语句性能调优技巧_避免对索引列执行函数操作
jvm·数据库·python
AI医影跨模态组学32 分钟前
如何将机器学习模型评分与肿瘤微环境中的去乙酰化修饰及免疫细胞组成建立关联,并进一步解释其与NSCLC免疫治疗预后的机制联系
人工智能·机器学习·论文·医学·医学影像
2301_8176722632 分钟前
如何正确为包含浮动子元素的父容器设置完整背景色
jvm·数据库·python