目标检测数据集图片及标签同步锐化

在目标检测任务中,数据集的质量直接影响到模型的性能。数据增强作为提升数据集多样性和模型泛化能力的常用手段,在图像处理过程中扮演着重要角色。锐化(Sharpening)技术是常见的图像增强方法之一,能够突出图像中的细节特征,使模型在处理边缘、纹理等细节时表现更好。然而,单纯对图像进行锐化处理并不充分,特别是在目标检测任务中,图像的锐化还需与标签(标注框)的同步处理相结合,以保证增强后的图像与其对应的标注信息保持一致性。

本篇文章将介绍如何对目标检测数据集中的图片进行锐化处理,并同步调整相应的标签文件,确保在数据增强的同时,图像与标签信息的精确对应。

代码如下

python 复制代码
import os,shutil
from PIL import Image, ImageEnhance


def write_xml(folder_path,output_folder, new_suffix):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    # 遍历文件夹中的所有文件
    for filename in os.listdir(folder_path):
        # 获取文件的扩展名
        file_base_name, file_extension = os.path.splitext(filename)
        # 构造新的文件名
        new_filename = f"{file_base_name}{new_suffix}{file_extension}"
        # 获取完整的原文件路径和新文件路径
        old_file_path = os.path.join(folder_path, filename)
        new_file_path = os.path.join(output_folder, new_filename)
        # 复制或重命名文件
        shutil.copy(old_file_path, new_file_path)

# 调整对比度
def adjust_contrast(image, factor):
    enhancer = ImageEnhance.Contrast(image)
    adjusted_image = enhancer.enhance(factor)
    return adjusted_image

# 调整锐度
def adjust_sharpness(image, factor):
    enhancer = ImageEnhance.Sharpness(image)
    adjusted_image = enhancer.enhance(factor)
    return adjusted_image

# 批量处理文件夹中的图片
def process_images(input_folder, output_folder, sharpness_factor, new_suffix):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for filename in os.listdir(input_folder):
        if filename.endswith(('.jpg', '.jpeg', '.png', '.bmp', '.tif')):
            image_path = os.path.join(input_folder, filename)
            image = Image.open(image_path)
            # 调整锐度
            image_with_adjusted_sharpness = adjust_sharpness(image, sharpness_factor)
            file_base_name, file_extension = os.path.splitext(filename)
            new_filename = f"{file_base_name}{new_suffix}{file_extension}"
            # 保存到输出文件夹
            output_path = os.path.join(output_folder, new_filename)
            image_with_adjusted_sharpness.save(output_path)
            print(f"Processed and saved: {output_path}")

# 输入文件夹和输出文件夹路径
input_folder_jpg = r'E:\peanut_data\jj'  #输入图片文件夹
input_folder_xml = r'E:\peanut_data\xx'  #输入标签文件夹
output_folder_jpg = r'E:\peanut_data\jj-'  #输出图片文件夹
output_folder_xml = r'E:\peanut_data\xx-'  #输出标签文件夹
new_suffix = '_r'
# 调整参数
sharpness_factor = 4.0  #锐度因子

# 执行批量处理
process_images(input_folder_jpg, output_folder_jpg, sharpness_factor,new_suffix)
write_xml(input_folder_xml,output_folder_xml, new_suffix)
相关推荐
IT_陈寒2 分钟前
React 18实战指南:5个高效能Hooks让你的开发效率提升50%
前端·人工智能·后端
电商数据girl17 分钟前
Python 爬虫获得淘宝商品详情 数据【淘宝商品API】
大数据·开发语言·人工智能·爬虫·python·json·php
钓了猫的鱼儿25 分钟前
无人机航拍数据集|第29期 无人机水稻稻穗目标检测YOLO数据集7894张yolov11/yolov8/yolov5可训练
yolo·目标检测·无人机·猫脸码客·无人机航拍数据集·无人机水稻稻穗目标检测
钓了猫的鱼儿25 分钟前
无人机航拍数据集|第22期 无人机城市交通目标检测YOLO数据集8624张yolov11/yolov8/yolov5可训练
yolo·目标检测·无人机·猫脸码客·无人机航拍数据集·无人机城市交通目标检测数据集
W-GEO36 分钟前
GEO优化策略:AI搜索引擎的“动态响应”与GEO优化公司的实时优化能力
大数据·人工智能·chatgpt
GEO_JYB36 分钟前
2025生成式引擎优化(GEO)技术研究报告:技术演进、行业应用与服务商能力选择指南
人工智能·chatgpt
轻松Ai享生活37 分钟前
从0-1学CUDA | Week 3 – 内存层级 (Memory Hierarchy)
人工智能
秋秋棠43 分钟前
AI 应用开发:从 Prompt 工程到实战应用开发
java·人工智能
飞哥数智坊1 小时前
AI编程实战:谁说AI改代码乱套?SOLO 20分钟补全图片上传功能
人工智能·trae·solo
前端双越老师1 小时前
【干货】Nodejs + Deepseek 开发 MCP Server 和 Client 踩坑记录
人工智能·node.js·deepseek