python写真データ集のロットにラベルを付ける
2541 ワード
1.データセットの紹介
OutdoorSceneデータセット:http://people.csail.mit.edu/torralba/code/spatialenvelope/
This dataset contains 8 out door scene categories:coast、mountain、forest、open country、street、inside city、tall buildings and highways.
The re re 2688カラーイメージ、256 x 256 pixels.All the objecs、regions in in this dataset have been.The re re more more than 29.00 objecs.The annotations.rable e.rabelMe format.
データセットをダウンロードして解凍したらこのようになります.
部分データセット画像
2.pythonでロットタイプのラベルを実現する.
データ集中の写真が見られます.カテゴリによって.番号.jpgは名前を統一して、sqlitでファイル名を切って、彼らがどの種類に属するかを判断して、結果をマトリックスに保存して、csvファイルに書き込んでください.
csvファイル
OutdoorSceneデータセット:http://people.csail.mit.edu/torralba/code/spatialenvelope/
This dataset contains 8 out door scene categories:coast、mountain、forest、open country、street、inside city、tall buildings and highways.
The re re 2688カラーイメージ、256 x 256 pixels.All the objecs、regions in in this dataset have been.The re re more more than 29.00 objecs.The annotations.rable e.rabelMe format.
データセットをダウンロードして解凍したらこのようになります.
部分データセット画像
2.pythonでロットタイプのラベルを実現する.
データ集中の写真が見られます.カテゴリによって.番号.jpgは名前を統一して、sqlitでファイル名を切って、彼らがどの種類に属するかを判断して、結果をマトリックスに保存して、csvファイルに書き込んでください.
import os
import numpy as np
import csv
'''
outdoorscene 8
directory_name:
'''
def read_directory(directory_name):
i = 0
print(' :',len(os.listdir(directory_name)))
img_target = np.zeros((len(os.listdir(directory_name)),8),dtype=int)
for filename in os.listdir(directory_name):
category = filename.split('_',1)[0]
if category == 'coast':
img_target[i,0]=1
elif category == 'forest':
img_target[i,1]=1
elif category == 'highway':
img_target[i,2]=1
elif category == 'insidecity':
img_target[i,3]=1
elif category == 'mountain':
img_target[i,4]=1
elif category == 'opencountry':
img_target[i,5]=1
elif category == 'street':
img_target[i,6]=1
elif category == 'tallbuilding':
img_target[i,7]=1
i=i+1
return img_target
csvFile = open('target.csv','w', newline='')
writer = csv.writer(csvFile)
writer.writerows(list(read_directory("D:\spatial_envelope_256x256_static_8outdoorcategories")))
csvFile.close()
プログラム実行結果:csvファイル