python Code
import os
import matplotlib.pyplot as plt
import numpy as np
import copy
import shutil
import cv2
import matplotlib.pyplot as plt
def cv_imread(file_path):cv_img = cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1)return cv_imgdef statistic_w_h(images_names_path):heights_ = []widths_ = []for img_name in images_names_path:if img_name[-4:] != "json":img = cv_imread(img_name)shape0 = img.shape[0]shape1 = img.shape[1]img_height = shape0img_width = shape1if img_width > img_height:img_height = shape1img_width = shape0heights_.append(img_height)widths_.append(img_width)return heights_, widths_def get_img_name(src_path_root_):image_paths = os.listdir(src_path_root_)print("-------------image_paths---------------", src_path_root_)images_names_all = []for image_path in image_paths:images_names = []abs_image_path = src_path_root_+'/'+image_pathimages_name_ = os.listdir(abs_image_path)print("abs_image_path:", abs_image_path)print("Number", len(images_name_))for img_name in images_name_:img_name = abs_image_path+'/'+img_nameimages_names.append(img_name)images_names_all += images_namesreturn images_names_alldef get_image_name_list(paths_):names = []print("get_image_name_list:", paths_)for path in paths_:names += get_img_name(path)return namesif __name__ == "__main__":path_root_root = "E:/L208_part/"component_type = 'R'statistic_path_list = []root_paths = os.listdir(path_root_root)print(root_paths)for root_path in root_paths:abs_statistic_path = path_root_root+root_path+'/'+component_typestatistic_path_list.append(abs_statistic_path)print(statistic_path_list)images=get_image_name_list(statistic_path_list)print("len of image:", len(images))heights, widths = statistic_w_h(images)plt.hist(heights, bins=10, color='skyblue', alpha=0.5,label='heights')plt.hist(widths, bins=10, color='green', alpha=0.5,label='widths')plt.title('strip class components -R ')plt.xlabel('Pixels')plt.ylabel('Frequency')plt.legend()plt.show()
2 目录结构
