def get_human_lst_each_diff(): path = '/media/user1/Data/data/20201116/' patho = '/media/user1/Data/data/Data_out_20201116/' camlst=['cam0','cam1','cam2'] for cam in camlst: df = pd.read_csv(f'{patho}/human_detect_{cam}.csv', header=None) df_human=df[df[1]==1] image_average_fp = f'{patho}/image_average_{cam}.npy' image_average=np.load(image_average_fp) cnt=len(df_human.values.tolist()) for i, dt in enumerate(df_human.values.tolist()): path_img, flg = dt print(i,i/cnt,path_img) pathoful = path_img.replace(path, patho) img, color_org = load_image_from_npy(path_img) image_diff = img - image_average image_diff_fp = pathoful.replace('image.npy', 'moving_detection_diff.png') #print(image_diff_fp) cv2.imwrite(image_diff_fp, image_diff) gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) avg = gray.copy().astype("float") img_detect, img_detect_concat, avg = detect_frame(img, avg) pil_img = Image.fromarray(img_detect.astype(np.uint8)) image_diff_fp = pathoful.replace('image.npy', 'moving_detection.png') #print(image_diff_fp) pil_img.save(image_diff_fp)
def get_human_lst_each_diff_fun(path, patho, func=None, ext='cv2'): # path = '/home/user1/yu_develop/202011161_sample/image/' # patho = '/home/user1/yu_develop/202011161_sample/out/' camlst = ['cam0', 'cam1', 'cam2'] if func is None: return None, None for cam in camlst: df = pd.read_csv(f'{patho}/human_detect_{cam}_s.csv', header=None) df_human = df[df[1] == 1] image_average_fp = f'{patho}/image_average_{cam}_s.npy' image_average = np.load(image_average_fp) #image_average = cv2.GaussianBlur(image_average, (5, 5), 0) image_average_gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) image_average = cv2.cvtColor(image_average, cv2.COLOR_BGR2RGB) cnt = len(df_human.values.tolist()) for i, dt in enumerate(df_human.values.tolist()): path_img, flg = dt print(i, i / cnt, path_img) path_img = path_img.replace( '/media/user1/Data/data/20201116/', '/home/user1/yu_develop/202011161_sample/image/') pathoful = path_img.replace(path, patho) pathoful_fd = pathoful.replace('image.npy', '') os.makedirs(pathoful_fd, exist_ok=True) img, color_org = load_image_from_npy(path_img) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # image_diff, image_diff2 = get_diff_of_two_image_2(img_gray, image_average_gray) # image1, image_diff2, image_diff = compute_difference_cv2(image_average_gray, img, color=[255, 0, 0]) image_diff2, image_diff = func(image_average, img, color=[255, 0, 0]) image_diff_fp = pathoful.replace('image.npy', f'image_org_plus_{ext}.png') cv2.imwrite(image_diff_fp, image_diff) image_diff_fp = pathoful.replace('image.npy', 'image.png') cv2.imwrite(image_diff_fp, img) image_diff_fp = pathoful.replace('image.npy', f'{ext}_moving_detection.png') cv2.imwrite(image_diff_fp, image_diff2) gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) avg = gray.copy().astype("float") img_detect, img_detect_concat, avg = detect_frame(img, avg) pil_img = Image.fromarray(img_detect.astype(np.uint8)) image_diff_fp = pathoful.replace('image.npy', f'opencv_moving_detection.png') # print(image_diff_fp) pil_img.save(image_diff_fp)
def get_human_lst(): path = '/media/user1/Data/data/20201116/' patho = '/media/user1/Data/data/Data_out_20201116/' path_category_index = 'dt/category_index.npy' # "https://tfhub.dev/tensorflow/centernet/hourglass_1024x1024_kpts/1" # "https://tfhub.dev/tensorflow/centernet/resnet50v1_fpn_512x512_kpts/1" # category_index = np.load(path_category_index, allow_pickle='TRUE').item() path_mod = "https://tfhub.dev/tensorflow/efficientdet/d4/1" human_dt_lst = object_detection_from_npy_all_file(path, patho, path_mod, path_category_index) pd.DataFrame(human_dt_lst).to_csv(f'{patho}/human_detect.csv', header=None, index=None) human_dt_lst = pd.read_csv(f'{patho}/human_detect.csv', header=None) image_sum = None for i, dt in enumerate(human_dt_lst.values.tolist()): path_img, flg = dt if i == 0: img, color_org = load_image_from_npy(path_img) image_sum = np.zeros(img.shape) if flg == 0: img, color_org = load_image_from_npy(path_img) image_sum = image_sum + img image_average = image_sum / (i + 1) image_average = np.array(image_average, dtype=np.uint8) image_average_fp = f'{patho}/image_average.npy' np.save(image_average_fp, image_average) image_average = np.load(image_average_fp) for i, dt in enumerate(human_dt_lst.values.tolist()): path_img, flg = dt if flg == 1: pathoful = path_img.replace(path.replace('/', '\\'), patho) img, color_org = load_image_from_npy(path_img) image_diff = img - image_average image_diff_fp = pathoful.replace('image.npy', 'moving_detection_diff.png') # image_diff_fp=f'{pathoful}/moving_detection_diff.png' cv2.imwrite(image_diff_fp, image_diff) gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) avg = gray.copy().astype("float") img_detect, img_detect_concat, avg = detect_frame(img, avg) pil_img = Image.fromarray(img_detect.astype(np.uint8)) image_diff_fp = pathoful.replace('image.npy', 'moving_detection.png') pil_img.save(image_diff_fp)
def get_human_lst_each_diff_2(): path = '/home/user1/yu_develop/202011161_sample/image/' patho = '/home/user1/yu_develop/202011161_sample/out/' camlst = ['cam0', 'cam1', 'cam2'] for cam in camlst: df = pd.read_csv(f'{patho}/human_detect_{cam}_s.csv', header=None) df_human = df[df[1] == 1] image_average_fp = f'{patho}/image_average_{cam}_s.npy' image_average = np.load(image_average_fp) image_average = cv2.GaussianBlur(image_average, (5, 5), 0) image_average_gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) cnt = len(df_human.values.tolist()) for i, dt in enumerate(df_human.values.tolist()): path_img, flg = dt print(i, i / cnt, path_img) path_img = path_img.replace( '/media/user1/Data/data/20201116/', '/home/user1/yu_develop/202011161_sample/image/') pathoful = path_img.replace(path, patho) os.makedirs(pathoful, exist_ok=True) img, color_org = load_image_from_npy(path_img) img = cv2.GaussianBlur(img, (5, 5), 0) img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) image_diff, image_diff2 = get_diff_of_two_image_2( img_gray, image_average_gray) image_diff_fp = pathoful.replace( 'image.npy', 'moving_detection_diff_gaus_gray.png') cv2.imwrite(image_diff_fp, image_diff) # image_diff_fp = pathoful.replace('image.npy', 'moving_detection_diff.npy') #np.save(image_diff_fp, image_diff) image_diff_fp = pathoful.replace( 'image.npy', 'moving_detection_diff_2_gaus_gray.png') cv2.imwrite(image_diff_fp, image_diff2) # image_diff_fp = pathoful.replace('image.npy', 'moving_detection_diff_2.npy') #np.save(image_diff_fp, image_diff2) gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) avg = gray.copy().astype("float") img_detect, img_detect_concat, avg = detect_frame(img, avg) pil_img = Image.fromarray(img_detect.astype(np.uint8)) image_diff_fp = pathoful.replace('image.npy', 'moving_detection_gaus.png') #print(image_diff_fp) pil_img.save(image_diff_fp)
path_img,flg=dt if i==0: img, color_org = load_image_from_npy(path_img) image_sum=np.zeros(img.shape) if flg==1: img, color_org = load_image_from_npy(path_img) image_sum=image_sum+img image_average=image_sum/(i+1) image_average = np.array(image_average, dtype=np.uint8) image_average_fp=f'{patho}/image_average.npy' np.save(image_average_fp, image_average) image_average = np.load(image_average_fp) for i,dt in enumerate(human_dt_lst.values.tolist()): path_img,flg=dt if flg==1: pathoful=path_img.replace(path.replace('/','\\'),patho) img, color_org = load_image_from_npy(path_img) image_diff=img-image_average image_diff_fp=pathoful.replace('image.npy','moving_detection_diff.png') # image_diff_fp=f'{pathoful}/moving_detection_diff.png' cv2.imwrite(image_diff_fp,image_diff) gray = cv2.cvtColor(image_average, cv2.COLOR_BGR2GRAY) avg = gray.copy().astype("float") img_detect, img_detect_concat, avg = detect_frame(img, avg) pil_img = Image.fromarray(img_detect.astype(np.uint8)) image_diff_fp=pathoful.replace('image.npy','moving_detection.png') pil_img.save(image_diff_fp)