statistic.py 1007 B

12345678910111213141516171819202122232425262728
  1. # 统计标注好的数据,同时给出统计结果保存为txt
  2. import os
  3. def count_imgs(path:str, tag:str)->str:
  4. target_path = os.path.join(path, tag)
  5. # 获取类别子目录
  6. sta_res = {}
  7. for c in os.listdir(target_path):
  8. cls_path = os.path.join(target_path, c)
  9. # 获取图片
  10. imgs = os.listdir(cls_path)
  11. sta_res[c] = len(imgs)
  12. return f'{tag} data statistics: {sta_res}'
  13. def main():
  14. train_data_path = r'D:\code\water_turbidity_det\label_data'
  15. dirs = os.listdir(train_data_path)
  16. info = []
  17. if 'train' in dirs:
  18. info.append(count_imgs(train_data_path, 'train'))
  19. if 'test' in dirs:
  20. info.append(count_imgs(train_data_path, 'test'))
  21. if 'val' in dirs:
  22. info.append(count_imgs(train_data_path, 'val'))
  23. with open(os.path.join(train_data_path, 'statistic.txt'), 'w') as fw:
  24. for i in info:
  25. fw.write(i)
  26. fw.write('\n')
  27. if __name__ == '__main__':
  28. main()