本例將辨識肺部X光照片所屬的性別,會利用一個資料檔(.csv)和十二個包含影像檔(.png)的資料夾。
使用Excel開啟附屬的csv檔,查看各張影像的訊息。從資料中可以取出圖片的檔名,疾病、年齡、性別等資料。
從影像資料夾中,可找到資料表中各個影像檔的檔名。
首先,要將資料檔進行分類,先建立兩個空的資料夾,命名為
「image_F」(女性)「image_M」(男性)
接著建立image_M.py檔,將男性影像歸類到指定資料夾。
程式碼及註解如下:
import csv
import os
import glob
from shutil import copyfile
# 開啟 CSV 檔案
with open('Data_Entry_2017.csv', newline='') as csvfile:
# 讀取 CSV 檔案內容
rows = csv.DictReader(csvfile)
#計數器
count=0
# 以迴圈輸出每一列
for row in rows:
if row['Patient Gender']=='M':#如果性別欄位的值是M
src='images/'+row['Image Index']#取得影像路徑
dst='image_M/'+row['Image Index']#目標影像路徑
if os.path.exists(src):#如果檔案存在
copyfile(src, dst)#將影像複製到目標資料夾
count=count+1#計錄目前的進度
if count%100==0:#顯示進度
print(count)
接著執行程式,過程中會顯示進度。
接著複製程式碼到image_F.py檔。
注意反白處,要將F更改為M:
import csv
import os
import glob
from shutil import copyfile
# 開啟 CSV 檔案
with open('Data_Entry_2017.csv', newline='') as csvfile:
# 讀取 CSV 檔案內容
rows = csv.DictReader(csvfile)
#計數器
count=0
# 以迴圈輸出每一列
for row in rows:
if row['Patient Gender']=='F':#如果性別欄位的值是M
src='images/'+row['Image Index']#取得影像路徑
dst='image_F/'+row['Image Index']#目標影像路徑
if os.path.exists(src):#如果檔案存在
copyfile(src, dst)#將影像複製到目標資料夾
count=count+1#計錄目前的進度
if count%100==0:#顯示進度
print(count)
接著執行後,得到了兩個分別裝著男性肺部影像與女性肺部影像的資料夾。
沒有留言:
張貼留言
有興趣或有疑問的歡迎提問與交流喔!!!