当前位置: 首页 > news >正文

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

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

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

代码如下

import os,shutil
from PIL import Image, ImageEnhancedef 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)

http://www.lryc.cn/news/463261.html

相关文章:

  • 滚雪球学Redis[6.4讲]:Redis消息队列:构建高效的消息通信与任务调度系统
  • 《计算机视觉》—— 换脸
  • 【JavaEE初阶】深入透析文件-IO关于文件内容的操作(四种文件流)
  • 复习:react 中的 refs,怎么使用,有哪些使用场景
  • Python OpenCV精讲系列 - 目标检测与识别深入理解(二十)
  • golang中的上下文
  • Navigation2 算法流程
  • OpenAI swarm+ Ollama快速构建本地多智能体服务 - 1. 服务构建教程
  • HTB:Wifinetic[WriteUP]
  • 专业学习|马尔可夫链(概念、变体以及例题)
  • RK3576 安卓SDK编译环境搭建
  • Renesas R7FA8D1BH (Cortex®-M85) 上光电编码器测速功能
  • 软件测试学习笔记丨Linux三剑客-sed
  • Vue脚手架学习 vue脚手架配置代理、插槽、Vuex使用、路由、ElementUi插件库的使用
  • 使用yml文件安装环境时,如何添加conda和pip的镜像源
  • c语言经典100例
  • 百易云资产管理运营系统 ufile.api.php SQL注入漏洞复现
  • 【分布式微服务云原生】《Redis RedLock 算法全解析:应对时钟漂移与网络分区挑战》
  • OceanBase 的写盘与传统数据库有什么不同?
  • 用Java爬虫API,轻松获取taobao商品SKU信息
  • OpenHarmony 入门——ArkUI 自定义组件内同步的装饰器@State小结(二)
  • 【Linux驱动开发】嵌入式Linux驱动开发基本步骤,字符设备开发入门,点亮LED
  • 搬砖14、Python网络编程入门
  • Transformer: Attention is All you need
  • C++:排序算法
  • 期货日内稳赢策略:双15交易法详解
  • 2024年10月第2个交易周收盘总结:怎样卖出!
  • mysql 不支持utf8mb4_0900_ai_ci
  • 第10篇:防火墙与入侵检测系统
  • Jmeter监控服务器性能