def __init__(self, opt): BaseDataset.__init__(self, opt) self.image_list = util.get_file_list( os.path.join(self.opt.data_dir, 'crop')) self.landmark_dict = self.load_landmark_dict() self.transforms_input = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.5141, 0.4074, 0.3588], std=[1.0, 1.0, 1.0]) ]) self.transforms_gt = transforms.ToTensor()
def __init__(self, opt): self.opt = opt self.data_dir = opt.data_dir self.Nw = opt.Nw self.feature_list = util.load_coef( os.path.join(self.data_dir, 'feature')) self.filenames = util.get_file_list( os.path.join(self.data_dir, 'feature')) if opt.isTrain: self.alpha_list = util.load_coef( os.path.join(self.data_dir, 'alpha')) self.beta_list = util.load_coef(os.path.join( self.data_dir, 'beta')) self.delta_list = util.load_coef( os.path.join(self.data_dir, 'delta')) self.gamma_list = util.load_coef( os.path.join(self.data_dir, 'gamma')) self.rotation_list = util.load_coef( os.path.join(self.data_dir, 'rotation')) self.translation_list = util.load_coef( os.path.join(self.data_dir, 'translation'))
def init_valid_dataset(config): return create_dataset( get_file_list(config.get("data", "valid_data_path"), config.get("data", "valid_file_list")), config, config.getint("reader", "valid_reader_num"), "valid")
def init_train_dataset(config): return create_dataset( get_file_list(config.get("data", "train_data_path"), config.get("data", "train_file_list")), config, config.getint("reader", "train_reader_num"), "train")
if __name__ == '__main__': import pathlib from tqdm import tqdm import matplotlib.pyplot as plt from utils.util import show_img, draw_bbox, save_result, get_file_list, crop_bbox args = init_args() print(args) # 初始化网络 model = DBNet(args.model_path, post_p_thre=args.thre, gpu_id=0, imageH=960, imageW=480) img_folder = pathlib.Path(args.input_folder) for img_path in tqdm(get_file_list(args.input_folder, p_postfix=['.jpg'])): img = cv2.imread(img_path) # if img.shape[0] /img.shape[1] > 2 or img.shape[1]/img.shape[0] > 2: # continue preds, boxes_list, score_list, t = model.predict( img_path, is_output_polygon=args.polygon, runtime='trt') print('time cost: {}s'.format(t)) crops = crop_bbox(img[:, :, ::-1], boxes_list) img = draw_bbox(img[:, :, ::-1], boxes_list) if args.show: show_img(preds) show_img(img, title=os.path.basename(img_path)) plt.show() # 保存结果到路径 os.makedirs(args.output_folder, exist_ok=True) img_path = pathlib.Path(img_path)
# def if __name__ == '__main__': import pathlib from tqdm import tqdm import matplotlib.pyplot as plt from utils.util import show_img, draw_bbox, save_result, get_file_list args = init_args() print(args) os.environ['CUDA_VISIBLE_DEVICES'] = str('0') # 初始化网络 0.1 model = Pytorch_model(args.model_path, post_p_thre=args.thre, gpu_id=0) img_folder = pathlib.Path(args.input_folder) # dbnet/test/input/ for img_path in tqdm( get_file_list(args.input_folder, p_postfix=['.jpg', '.png']) ): # img_path /home/share/gaoluoluo/dbnet/test/input/2018实验仪器发票.jpg # print("img_path:",img_path) /home/share/gaoluoluo/dbnet/test/input/2018实验仪器发票.jpg preds, boxes_list, score_list, t = model.predict( img_path, is_output_polygon=args.polygon) # print("preds:",preds) print("boxes_list.shape:", np.shape(boxes_list)) print("boxes_list:", boxes_list) # 4 个点的坐标 # print("score_list:",score_list) # 率 print("t:", t) # 用时 # box = np.array() box = [] print(len(boxes_list)) print(len(boxes_list[0])) print(len(boxes_list[0][0])) for i in range(0, len(boxes_list)):
import os import cv2 import numpy as np from tqdm import tqdm from options.options import Options from utils.util import create_dir, get_file_list if __name__ == '__main__': opt = Options().parse_args() create_dir(os.path.join(opt.src_dir, 'comp')) foregrounds = get_file_list(os.path.join(opt.src_dir, 'images'), suffix='fake') backgrounds = get_file_list(os.path.join(opt.tgt_dir, 'crop')) masks = get_file_list(os.path.join(opt.tgt_dir, 'mask')) for i in tqdm(range(len(foregrounds))): fg = cv2.imread(foregrounds[i]) bg = cv2.imread(backgrounds[i + opt.offset]) mask = cv2.imread(masks[i + opt.offset]) mask = cv2.erode(mask, np.ones((3,3), np.uint8), iterations=9) mask = cv2.GaussianBlur(mask, (5,5), cv2.BORDER_DEFAULT) / 255.0 comp = mask * fg + (1 - mask) * bg cv2.imwrite(os.path.join(opt.src_dir, 'comp', '%05d.png' % (i+1)), comp) if i >= opt.test_num:
return args if __name__ == '__main__': import pathlib from tqdm import tqdm import matplotlib.pyplot as plt from utils.util import show_img, draw_bbox, save_result, get_file_list args = init_args() print(args) os.environ['CUDA_VISIBLE_DEVICES'] = str('0') # 初始化网络 0.1 model = Pytorch_model(args.model_path, post_p_thre=args.thre, gpu_id=0) img_folder = pathlib.Path(args.input_folder)# dbnet/test/input/ for img_path in tqdm(get_file_list(args.input_folder, p_postfix=['.jpg', '.png'])): # img_path /home/share/gaoluoluo/dbnet/test/input/2018实验仪器发票.jpg # print("img_path:",img_path) /home/share/gaoluoluo/dbnet/test/input/2018实验仪器发票.jpg preds, boxes_list, score_list, t = model.predict(img_path, is_output_polygon=args.polygon) print("preds:",preds) print("boxes_list.shape:",np.shape(boxes_list)) print("boxes_list:",boxes_list) # 4 个点的坐标 print("score_list:",score_list) # 率 print("t:",t) # 用时 # box = np.array() box = [] for i in range(len(boxes_list)-1): for j in range(len(boxes_list[0])-1): box.append(np.array(boxes_list[i][j])) print("box.shape:",np.shape(box)) print("np.array(box):",np.array(box))