目標檢測——清洗數據

清洗VOC格式數據集代碼示例

import os
import xml.etree.ElementTree as ETdef process_annotations(image_folder, annotation_folder):# 遍歷標簽文件夾中的所有XML文件for xml_file in os.listdir(annotation_folder):if not xml_file.endswith('.xml'):continuexml_path = os.path.join(annotation_folder, xml_file)tree = ET.parse(xml_path)root = tree.getroot()# 標記是否保留該文件keep_file = False# 遍歷所有<object>標簽for obj in root.findall('object'):name = obj.find('name').textif name == 'person':  # 需修改,保留哪個類別就寫哪個類別keep_file = Trueelse:root.remove(obj)  # 移除非Pedestrian的<object># 如果沒有Pedestrian類別,刪除對應的圖片和標簽if not keep_file:image_name = root.find('filename').textimage_path = os.path.join(image_folder, image_name)if os.path.exists(image_path):os.remove(image_path)os.remove(xml_path)else:# 保存修改后的XML文件tree.write(xml_path)# 示例用法
image_folder = r'D:\BaiduNetdiskDownload\VOCdevkit\VOCdevkit\VOC2007\JPEGImages'  # 替換為圖片文件夾路徑
annotation_folder = r'D:\BaiduNetdiskDownload\VOCdevkit\VOCdevkit\VOC2007\Annotations'  # 替換為標簽文件夾路徑
process_annotations(image_folder, annotation_folder)

?需根據自己的數據集修改name及文件路徑!!!

清洗YOLO格式數據集代碼示例

import osdef process_labels(image_folder, label_folder):# 遍歷標簽文件夾中的所有標簽文件for label_file in os.listdir(label_folder):if not label_file.endswith('.txt'):continuelabel_path = os.path.join(label_folder, label_file)image_name = os.path.splitext(label_file)[0] + '.png'image_path = os.path.join(image_folder, image_name)# 讀取標簽文件內容with open(label_path, 'r') as f:lines = f.readlines()# 需修改!!!根據自己想要的類別保留!篩選類別為0的行filtered_lines = [line for line in lines if line.strip().split()[0] == '0']# 如果沒有類別為0的行,刪除對應的圖片和標簽if not filtered_lines:if os.path.exists(image_path):os.remove(image_path)os.remove(label_path)else:# 保存修改后的標簽文件with open(label_path, 'w') as f:f.writelines(filtered_lines)# 示例用法
label_folder = r'D:\BaiduNetdiskDownload\annotations_trainval2017\txt'  # 替換為圖片文件夾路徑
image_folder = r'D:\BaiduNetdiskDownload\val2017\val2017'  # 替換為標簽文件夾路徑
process_labels(image_folder, label_folder)

?需根據自己的數據集修改line及文件路徑!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72815.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72815.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72815.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kubeasz工具快速部署K8Sv1.27版本集群(二進制方式)

文章目錄 一、基本信息二、服務器初始化操作三、使用Kubeasz部署K8S集群四、驗證集群 一、基本信息 1、部署需要滿足前提條件&#xff1a; 注意1&#xff1a;確保各節點時區設置一致、時間同步&#xff1b;注意2&#xff1a;確保在干凈的系統上開始安裝&#xff1b;注意3&…

RG-S3760應用協議配置

RG-S3760應用協議配置 1. dhcp 服務配置 提問&#xff1a;如何在設備上開啟dhcp 服務&#xff0c;讓不同VLAN 下的電腦獲得相應的IP 地址&#xff1f; 回答&#xff1a; 步驟一&#xff1a;配置VLAN 網關IP 地址&#xff0c;及將相關端口劃入相應的VLAN 中 S3760#con t S…

Java 文件和IO流基礎(生動形象版)

系列文章目錄 Java文件和IO流基礎部分 文件VSIO流 文章目錄 系列文章目錄前言一、文件的定義和理解&#xff1a; 1.專業定義&#xff1a; 2.文件系統和路徑&#xff1a; 二、IO流的定義和分類 1.定義&#xff1a;2.流的分類&#xff1a;修飾器模式的核心作用&#xff1a;基礎結…

Linux驅動學習筆記(四)

高級字符設備進階 1.一個完整的IO過程包含以下幾個步驟&#xff1a;1應用程序向操作系統發起IO調用請求(系統調用)&#xff1b;2操作系統準備數據&#xff0c;把IO設備的數據加載到內核緩沖區&#xff1b;3操作系統拷貝數據&#xff0c;把內核緩沖區的數據從內核空間拷貝到應用…

el-table的行向上移動向下移動,刪除選定行

<template><el-table :data"tableData" border style"width: 100%"><!-- 其他列 --><el-table-column label"ID"><template slot-scope"scope">{{ scope.$index }}</template></el-table-colu…

人工智能之數學基礎:矩陣的降維

本文重點 在現實世界中,我們經常會遇到高維數據。例如,圖像數據通常具有很高的維度,每個像素點都可以看作是一個維度。高維數據不僅會帶來計算和存儲上的困難,還可能會導致 “維數災難”,即隨著維度的增加,數據的稀疏性和噪聲也會增加,從而影響數據分析的效果。因此,我…

2025年,電腦還需要分區嗎?

隨著2025年的到來&#xff0c;電腦存儲空間已經不像以前那么金貴&#xff0c;固態硬盤&#xff08;SSD&#xff09;容量更大、速度更快&#xff0c;云存儲也成了日常標配。許多人開始質疑&#xff1a;電腦還需要像以前那樣分區嗎&#xff1f; 一、分區到底是什么意思&#xff…

Springboot項目集成maven-assembly-plugin進行打包

通常我們將應用部署到服務器的某個目錄下&#xff0c;一般情況下我們會提供像target&#xff08;存放應用jar包&#xff09;&#xff0c;bin&#xff08;項目啟動/停止腳本&#xff09;&#xff0c;config&#xff08;項目配置文件&#xff09;&#xff0c;logs&#xff08;項目…

CSS3 基礎布局技術與響應式設計

1. CSS3 基礎與布局技術 1.1 Flexbox 布局 Flexbox 是一種一維布局模型&#xff0c;適合用于在一個方向上&#xff08;行或列&#xff09;排列元素。 基本概念&#xff1a; 容器&#xff08;Container&#xff09;&#xff1a;應用 display: flex; 的元素。項目&#xff08…

鴻蒙NEXT項目實戰-百得知識庫01

代碼倉地址&#xff0c;大家記得點個star IbestKnowTeach: 百得知識庫基于鴻蒙NEXT穩定版實現的一款企業級開發項目案例。 本案例涉及到多個鴻蒙相關技術知識點&#xff1a; 1、布局 2、配置文件 3、組件的封裝和使用 4、路由的使用 5、請求響應攔截器的封裝 6、位置服務 7、三…

【DeepSeek應用】本地部署deepseek模型后,如何在vscode中調用該模型進行代碼撰寫,檢視和優化?

若已成功在本地部署了 DeepSeek 模型(例如通過 vscode-llm、ollama 或私有 API 服務),在 VS Code 中調用本地模型進行代碼撰寫、檢視和優化的完整流程如下: 1. 準備工作:確認本地模型服務狀態 模型服務類型: 若使用 HTTP API 服務(如 FastAPI/Flask 封裝),假設服務地址…

jenkins 配置郵件問題整理

版本&#xff1a;Jenkins 2.492.1 插件&#xff1a; A.jenkins自帶的&#xff0c; B.安裝功能強大的插件 配置流程&#xff1a; 1. jenkins->系統配置->Jenkins Location 此處的”系統管理員郵件地址“&#xff0c;是配置之后發件人的email。 2.配置系統自帶的郵件A…

Android Coil3階梯preload批量Bitmap拼接扁平寬圖,Kotlin

Android Coil3階梯preload批量Bitmap拼接扁平寬圖&#xff0c;Kotlin <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /><uses-p…

C++基礎 [八] - list的使用與模擬實現

目錄 list的介紹 List的迭代器失效問題 List中sort的效率測試 list 容器的模擬實現思想 模塊分析 作用分析 list_node類設計 list 的迭代器類設計 迭代器類--存在的意義 迭代器類--模擬實現 模板參數 和 成員變量 構造函數 * 運算符的重載 運算符的重載 -- 運…

【系統架構設計師】操作系統 - 特殊操作系統 ③ ( 微內核操作系統 | 單體內核 操作系統 | 內核態 | 用戶態 | 單體內核 與 微內核 對比 )

文章目錄 一、微內核操作系統1、單體內核 操作系統2、微內核操作系統 引入3、微內核操作系統 概念4、微內核操作系統 案例 二、單體內核 與 微內核 對比1、功能對比2、單體內核 優缺點3、微內核 優缺點 一、微內核操作系統 1、單體內核 操作系統 單體內核 操作系統 工作狀態 : …

系統思考:惡性循環

去年&#xff0c;我給一家知名人力資源公司交付了兩個項目——一個在6月&#xff0c;另一個在8月&#xff0c;至今半年多了依然沒有收到課酬。催促多次&#xff0c;得到的答復卻各式各樣&#xff1a;銷售說老板卡了額度&#xff0c;老板說具體情況還需了解。每一次的推諉&#…

基于springboot的房屋租賃系統(008)

摘 要 社會的發展和科學技術的進步&#xff0c;互聯網技術越來越受歡迎。網絡計算機的生活方式逐漸受到廣大人民群眾的喜愛&#xff0c;也逐漸進入了每個用戶的使用。互聯網具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本低等優點。 因此&#xff0c;構建符…

視頻翻譯器免費哪個好?輕松玩轉視頻直播翻譯

你是不是覺得看外語視頻很麻煩&#xff1f;每次遇到喜歡的外語電影、電視劇或動漫&#xff0c;總是要等字幕組的翻譯&#xff0c;或者因為語言不通而錯過精彩的情節。 這個時候&#xff0c;掌握多語種直播翻譯方案就顯得尤為重要&#xff0c;有了實時字幕&#xff0c;看外語視…

在cherry studio中使用MCP——本地文件管理FileSystem

cherry studio是一款開源的AI助手工具&#xff0c;可以便捷地利用API訪問各種LLM&#xff0c;有關cherry studio的使用這里不再多說&#xff0c;可以參考這篇文章https://blog.csdn.net/m0_65494437/article/details/145478823 官網&#xff1a;https://cherry-ai.com/ MCP是什…

從點燈開始的51單片機生活

陵谷紛紜新事改&#xff0c;筑臺土石未應遲。 目錄 sfr與sbit&#xff1f;不靠定時器的delay_ms延時函數所謂寄存器 sfr與sbit&#xff1f; 這第一課咱們主要來先理解一下sfr與sbit&#xff0c;以下可能是咱們這些新手朋友常見的點燈代碼&#xff1a; #include<regx52.h&g…