def setUp(self): p = "./images/2009_000237.jpg" img = PIL.Image.open(p).convert("RGB") img = np.array(img) ##mock data save_list = [img] * 13 mq_dataset.intermediate_job_finish(out_queue, save_list)
def setUp(self): global out_queue, in_queue, scan_dir, save_dir out_queue = "unittest_transfer" in_queue = "unittest_transfer_result" scan_dir = "./unittest_listen/data_listen" save_dir = "./unittest_listen/result_listen" self.tearDown() if not os.path.isdir(os.path.dirname(scan_dir)): os.mkdir(os.path.dirname(scan_dir)) if not os.path.isdir(scan_dir): os.mkdir(scan_dir) if not os.path.isdir(save_dir): os.mkdir(save_dir) data_list = [] for i in range(batch_size): mock_data = [create()] * 4 data_list.append(np.array(mock_data)) self.msg_list = [] self.msg_list = mq_dataset.intermediate_job_finish( out_queue, data_list) for i, (x, y) in enumerate(self.msg_list): x = x.replace("type:image,job:unittest_transfer,source_id:", "") fn = os.path.join(save_dir, x + "_final_res.jpg") da = create() cv2.imwrite(fn, da)
def _post_process(msg_ids, result_list, each_image_list): def format_img(result, each_image): origin_image = Image.fromarray(each_image).convert('RGB') origin_width, origin_height = origin_image.size result = result * 255 result = np.array(result, dtype=np.uint8) matte_image = Image.fromarray(result, mode='L') \ .resize([origin_width, origin_height], resample=Image.BILINEAR) # matte_image_np=np.array(matte_image,dtype=np.uint8) p = Image.new('RGBA', [origin_width, origin_height], (0, 0, 0)) p.paste(origin_image, (0, 0, origin_width, origin_height), matte_image) p = p.convert("RGB") return np.array(p), np.array(matte_image) save_list = [] for msg_id, result, each_image in zip(msg_ids, result_list, each_image_list): rgb, matting = format_img(result, each_image) save_list.append((msg_id, matting)) mq_dataset.intermediate_job_finish(in_queue, save_list)
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
def _response(self, cl_list): save_list = [] for msg_id, rgb, matting in cl_list: save_list.append((msg_id, matting)) mq_dataset.intermediate_job_finish(in_queue, save_list)
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])