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)
示例#2
0
        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)
示例#4
0
        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)
示例#6
0
 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])