def _getdata(self): _, mq_name = mq_dataset.build_key(None, out_queue) data_list = mq_dataset.get_jobs(mq_name, job_batch_size=batch_size) if data_list is None or len(data_list) <= 0: return [] data_list = [(msg_id, None, data) for msg_id, data in data_list] return data_list
def test_02_listen_result_exist(self): _listen_result_exist() ### #build disk fn exist_list = [os.path.basename(x) for x in os.listdir(save_dir)] build_list = [ x.split("source_id:")[-1] + "_final_res.jpg" for x, _ in self.msg_list ] self.assertTrue(set(exist_list) == set(build_list)) ## assert save success for msg_id, _ in self.msg_list: msg_id_redis, _ = mq_dataset.build_key(msg_id, in_queue) self.assertTrue(Jconfig.redis_handle.exists(msg_id_redis))
def _listen_result_exist(): def _post_process(msg_id, info_path): if os.path.isfile(info_path): data = cv2.imread(info_path) info_x = (msg_id, data) msg_save_list = mq_dataset.intermediate_job_finish( in_queue, [info_x]) ##scan .... #0_final_res.jpg ls_list = [(x.replace("_final_res.jpg", ""), os.path.join(save_dir, x)) for x in os.listdir(save_dir)] #[msg_id ,path ] for msg_id, path_info in ls_list: msg_id_redis, _ = mq_dataset.build_key(msg_id, in_queue) if not Jconfig.redis_handle.exists(msg_id_redis): _post_process(msg_id_redis, path_info)
def _process(data_list): #data is combine [navice ,mask1.mask2 ,backgrd] #cmd_list = [] for msg_id_c, _, data in data_list: msg_id, _ = mq_dataset.build_key(msg_id_c, "tmp") msg_id = msg_id.replace("type:image,job:tmp,source_id:", "") fn_1_list = [ os.path.join(scan_dir, msg_id + "_" + x) for x in ["c_mask.jpg", "c_mask_dilated.jpg", "naive.jpg", "target.jpg"] ] x1 = 0 print("total find ..", len(fn_1_list), data.shape) for fn in fn_1_list: data_x = data[x1:x1 + 1] assert len(data_x.shape) == 4 data_x = np.squeeze(data_x, axis=0) assert data_x.shape[2] == 3 cv2.imwrite(fn, data_x) x1 += 1
def test_mmq(self): import sys ,os p=sys.argv[1] if not os.path.isfile(p) : raise Exception("not exist") print ("will read",p) # image=cv2.imread("./images/295b37832c0db6470a855640d6510c04.jpg") image=cv2.imread(p) # target_image=cv2.imread("./images/19064748793_bb942deea1_k.jpg") print ("send...") msg_id_list = mq_dataset.intermediate_job_finish("detectron", [image]) msg_id = msg_id_list[0] furture_id , _= mq_dataset.build_key(msg_id,"detectron_result") print (furture_id,"222") while True : if mq_dataset.is_exist(furture_id): get_data=mq_dataset.get_msg_info(furture_id) _,matting_list = get_data bl=[np.zeros(matting_list.shape[1:],dtype=np.uint8)] for i,m in enumerate(matting_list): m=(m//255)*(i+1) bl.append(m) mm=m.copy() mm[m!=0]=255 print (len(bl),len(matting_list)) print (np.unique(np.array(bl))) ###cover mask source_img = image.copy() new_img = util_cover_mask(image,bl) img,mask = choice_mask_floors(new_img,np.array(bl) ) cv2.imwrite("t1_img.jpg",image) cv2.imwrite("t1_img_mask.png",mask) print ("save success") break