【相關學習推薦:python教學】
前言
在我對項目組的一些訓練圖像進行預處理的時候,發現處理的圖像是分好了類,在文件夾裡的文件夾裡,套娃式存儲的,所以對我批處理,以及按原資料夾規則進行儲存的時候,就會造成很大困擾
但透過下面幾個函數的結合,幫我順利的完成了一系列的預處理。
一、用不膩的芷山庫
#1.安裝庫
pip安裝:
pip install zisan
2.getFiles函數
函數呼叫:
import zisan.FileTools as zf file_path = 'C:/Users/xxx/Desktop/2016/Annotations' whole_file = zf.getFiles(file_path)
圖片儲存在:件夾2016 -> 資料夾Annotations -> ;子資料夾-> 00000.png
透過getFiles函數,可以將Annotations中的所有資料夾裡的所有圖片路徑調出來
也就是說,getFiles函數是將資料夾裡面的所有檔案路徑都調出來,不管中間有無子資料夾
二、其他函數
1.os.listdir函數
此函數呼叫後會傳迴路徑底下資料夾的名稱,以字串的形式儲存在清單中
程式碼如下:
import os file_path = 'C:/Users/xxx/Desktop/2016/Annotations' file_names = os.listdir(file_path) print(file_names)
效果:
#2.os.mkdir函數
程式碼:
import os new_file_path = 'C:/Users/xxx/Destop/2016/newfile' os.mkdir(new_file_path)
用於建立新資料夾
三、運用
要求:處理Annotations資料夾中的每個子文件夾中的圖片,並依原本的規則儲存在newfile新資料夾裡的對應位置,命名規則如00000.jpg
import zisan.FileTools as zf import os import cv2 from skimage import io file_path = 'C:/Users/xxx/Desktop/2016/Annotations' new_file_path = 'C:/Users/xxx/Destop/2016/newfile' file_names = os.listdir(file_path) #获取Annotations文件夹的子文件夹名称 for i in file_names: #遍历每个子文件夹名称 Index = 0 file_name = file_path + '/' + i #巧妙运用+号得到改子文件夹的路径 os.mkdir(new_file_path + '/' + i) #在newfile里创建一个与子文件夹名称相同的文件夹 whole_pic = zf.getFiles(file_name) #用getFiles函数读取子文件夹内的图片路径 for f in whole_pic: msk = io.imread(f) msk=cv2.cvtColor(msk,cv2.COLOR_RGBA2GRAY) msk[np.where(msk!=0)]=255 io.imsave(new_file_path + '/' + i + '/' + str("%05d" % Index) + '.jpg' , msk) #处理命名可直接+'.jpg'让其以jepg形式存储 Index += 1
這就是我解決資料夾處理問題的基本思路和流程,各個函數可以搭配使用,放入循環外或內部依具體要求有不同的效果。
以上是如何透過Python批次處理套娃式資料夾的詳細內容。更多資訊請關注PHP中文網其他相關文章!

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

如何使用正則表達式匹配到第一個閉合標籤就停止?在處理HTML或其他標記語言時,常常需要使用正則表達式來�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境