Exemplo n.º 1
0
    def process_labeled(idx, data_line, out_dir):
        oss_root_dir = "zhengsheng.wcl/problems_rotation/datasets/prelabeled_diff_20201201"
        url, angle = data_line.split(',')
        name_x = url.split("/")[-1].split('.')[0]
        is_ok, img_bgr = download_url_img(url)
        if not is_ok:
            return

        img_bgr = rotate_img_for_4angle(img_bgr, int(angle))
        h, w, _ = img_bgr.shape
        ratio = safe_div(h, w)
        if ratio >= 1.0:
            url_1 = save_img_2_oss(img_bgr, "{}_v.jpg".format(name_x),
                                   oss_root_dir)
            img_bgr = rotate_img_for_4angle(img_bgr, 270)
            url_2 = save_img_2_oss(img_bgr, "{}_vx.jpg".format(name_x),
                                   oss_root_dir)
        else:
            url_1 = save_img_2_oss(img_bgr, "{}_h.jpg".format(name_x),
                                   oss_root_dir)
            img_bgr = rotate_img_for_4angle(img_bgr, 180)
            url_2 = save_img_2_oss(img_bgr, "{}_hx.jpg".format(name_x),
                                   oss_root_dir)

        out_path = os.path.join(out_dir, 'data_{}.txt'.format(angle))
        write_line(out_path, url_1)
        write_line(out_path, url_2)
        print('[Info] idx: {}'.format(idx))
Exemplo n.º 2
0
 def save_img_path(img_bgr, img_name, oss_root_dir=""):
     """
     上传图像
     """
     from x_utils.oss_utils import save_img_2_oss
     if not oss_root_dir:
         oss_root_dir = "zhengsheng.wcl/Image-Rotation/datasets/img-translation-v1"
     img_url = save_img_2_oss(img_bgr, img_name, oss_root_dir)
     return img_url
 def save_img_path(img_bgr, img_name, oss_root_dir=""):
     """
     上传图像
     """
     from x_utils.oss_utils import save_img_2_oss
     if not oss_root_dir:
         oss_root_dir = "zhengsheng.wcl/Image-Rotation/imgs-tmp/{}".format(get_current_day_str())
     img_url = save_img_2_oss(img_bgr, img_name, oss_root_dir)
     return img_url
Exemplo n.º 4
0
 def process_line(out_file, idx, data_line):
     print('[Info] ' + '-' * 50)
     print('[Info] idx: {}'.format(idx))
     items = data_line.split(';')
     label_str = items[3]
     url = items[5]
     url = url.split("?")[0]
     img_name = url.split("/")[-1]
     print('[Info] url: {}'.format(url))
     try:
         p_box_list = DataPrelabeled.get_boxes_from_items(label_str)
     except Exception as e:
         print('[Info] label error: {}, label_str: {}'.format(
             url, label_str))
         return
     if not p_box_list:
         return
     is_ok, img_bgr = download_url_img(url)
     # show_img_bgr(img_bgr)
     # draw_box(img_bgr, p_box, is_show=True)
     box_list, word_list, angle, content = DataPrelabeled.process_url(url)
     if angle != 0:
         print('[Info] angle error: {}, angle: {}'.format(url, angle))
         return
     info_list = []
     for p_box in p_box_list:
         new_box_list, new_word_list = \
             DataPrelabeled.filter_boxes(img_bgr, p_box, box_list, word_list, angle, content)
         img_bgr = DataPrelabeled.draw_box_sequence(img_bgr,
                                                    new_box_list,
                                                    is_show=False)
         item_dict = {
             "p_box": p_box,
             "box_list": new_box_list,
             "word_list": new_word_list
         }
         info_list.append(item_dict)
     labeled_url = save_img_2_oss(
         img_bgr, img_name,
         "zhengsheng.wcl/problems_segmentation/datasets/prelabeled_20201220/"
     )
     out_dict = {
         "url": url,
         "labeled_url": labeled_url,
         "info_list": info_list
     }
     out_info = json.dumps(out_dict)
     write_line(out_file, out_info)
     print('[Info] 写入完成: {}'.format(out_info))
 def process_line(idx, data_line, out_file):
     items = data_line.split("<sep>")
     url = items[1]
     url = url.split('?')[0]
     img_name = url.split('/')[-1]
     # print('[Info] url: {}'.format(url))
     data_dict = get_uc_rotation_vpf_service(url)
     # print('[Info] data_dict: {}'.format(data_dict))
     angle = data_dict['data']['angle']
     # print('[Info] angle: {}'.format(angle))
     is_ok, img_bgr = download_url_img(url)
     out_img = rotate_img_for_4angle(img_bgr, angle)  # 旋转角度
     # show_img_bgr(out_img)
     url = save_img_2_oss(out_img, img_name, "zhengsheng.wcl/problems_segmentation/datasets/prelabeled-20201224")
     print('[Info] url: {}'.format(url))
     write_line(out_file, url)
     print('[Info] idx: {}'.format(idx))
Exemplo n.º 6
0
 def process_res_dict(res_dict, img_oss_name):
     data_dict = res_dict['data']
     angle = float(data_dict['prob'])
     img_url = data_dict['image_url']
     is_ok, parsed_image = download_url_img(img_url)
     if is_ok:
         img_r = rotate_img_with_bound(parsed_image, -angle)
         img_r = resize_img_fixed(img_r, 512, is_height=False)
         img_oss_url = save_img_2_oss(
             img_r, img_oss_name,
             "zhengsheng.wcl/datasets/problems-segment/pre-labeled-20201120"
         )
         # show_img_bgr(img_r)
     else:
         img_oss_url = ""
     # print('[Info] 上传URL: {}'.format(img_oss_url))
     return img_oss_url