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))
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
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))
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