ターゲット検出用のデータセットを作成するときは、トレーニングセットの画像ファイル(jpg)と注釈ファイル(xmlまたはjson、shpなど)のファイル名とファイル数を同じにする必要があります。予測結果は、選択した正しい結果に基づいています。他の種類の関連ファイルを一緒に見つけるために、処理されるデータの量が比較的多いため、同じファイル名で異なる種類のファイルを除外する簡単なコードを数行記述しました。 (ファイルサフィックス)、これは非常に便利です、そして共有してください。
#根据挑选的jpg文件找出对应的xml、json、shp、dbf、shx文件
import os
import shutil
filepath1 = '/opt/netdisk/object_detection/project/results/case2/xml'#源文件做参考
file_list = os.listdir(filepath1)
print(file_list)
print(len(file_list))
filepath2 = '/opt/netdisk/object_detection/project/results/case2/jpg'#需要拷出的文件位置
filepath3 = '/opt/netdisk/1/object_detection/project/results/case2/jpgnew'#拷入新的文件夹
print(len(os.listdir(filepath2)))
def main():
n=0
for file in os.listdir(filepath2):
aa,bb=file.split('x')
b = aa +'jpg'
print(b)
if b in file_list:
srcfile = filepath2 +'/'+ file
dstfile = filepath3 +'/'+ file
shutil.move(srcfile,dstfile)#剪切功能
shutil.copyfile(srcfile,dstfile)#拷贝出来
n=n+1
print(n)
if __name__ == '__main__':
main()
filepath1は、取得した正しい結果または必要な既存のデータであり、ファイル名の比較に使用されます
。filepath2は、ファイルをコピーまたは切り取るフォルダー
です。filepath3は、コピーまたは切り取ったファイルが保存される場所です。