# model_path = 'output/psenet_icd2015_new_loss/final.pth' image_root = 'Test Set/Image' annotation_root = 'Test Set/Annotation' Images = os.listdir(image_root) Labels = os.listdir(annotation_root) image_id = Images[np.random.randint(1, len(Images) + 1)].split('.jpg')[0] img_path = image_root + os.sep + '{}.jpg'.format(image_id) label_path = annotation_root + os.sep + '{}.txt'.format(image_id) print('Predicting for image', img_path) label = _get_annotation(label_path) # 初始化网络 net = PSENet(backbone='resnet18', pretrained=False, result_num=config.n) device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") model = Pytorch_model(model_path, net=net, scale=1, device=device) # for i in range(100): # models.predict(img_path) preds, boxes_list, t = model.predict(img_path) print(boxes_list) show_img(preds) img = draw_bbox(img_path, boxes_list, color=(0, 0, 255)) cv2.imwrite('result.jpg', img) # img = draw_bbox(img, label,color=(0,0,255)) show_img(img, color=True) plt.show()
if __name__ == '__main__': import pathlib from tqdm import tqdm import matplotlib.pyplot as plt from utils.utils import show_img, draw_bbox, save_result, get_file_list args = init_args() print(args) # 初始化网络 model = DetModel(args.model_path, post_p_thre=args.thre, gpu_id=0) img_folder = pathlib.Path(args.input_folder) for img_path in tqdm(get_file_list(args.input_folder, p_postfix=['.jpg'])): preds, boxes_list, score_list, t = model.predict( img_path, is_output_polygon=args.polygon) img = draw_bbox(cv2.imread(img_path)[:, :, ::-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) output_path = os.path.join(args.output_folder, img_path.stem + '_result.jpg') pred_path = os.path.join(args.output_folder, img_path.stem + '_pred.jpg') cv2.imwrite(output_path, img[:, :, ::-1]) cv2.imwrite(pred_path, preds * 255) save_result(output_path.replace('_result.jpg', '.txt'), boxes_list, score_list, args.polygon)
from utils.utils import show_img from tqdm import tqdm from torch.utils.data import DataLoader import matplotlib.pyplot as plt from torchvision import transforms train_data = MyDataset(config.trainroot, data_shape=config.data_shape, n=config.n, m=config.m, transform=transforms.ToTensor()) train_loader = DataLoader(dataset=train_data, batch_size=1, shuffle=False, num_workers=0) pbar = tqdm(total=len(train_loader)) for i, (img, label, mask) in enumerate(train_loader): print(label.shape) print(img.shape) print(label[0][-1].sum()) print(mask[0].shape) # pbar.update(1) show_img((img[0] * mask[0].to(torch.float)).numpy().transpose(1, 2, 0), color=True) show_img(label[0]) show_img(mask[0]) plt.show() pbar.close()
if __name__ == '__main__': import config from model import CTPN_Model import matplotlib.pyplot as plt from utils.utils import show_img, draw_bbox, draw_anchor # os.environ['CUDA_VISIBLE_DEVICES'] = str('2') model_path = 'output/PSENet_298_loss0.001575.pth' img_id = 1 img_path = 'D:/zj/dataset/ICD15/train/imgs/img_{}.jpg'.format(img_id) # img_path = '0.jpg' label_path = 'D:/zj/dataset/ICD15/train/gt/gt_img_{}.txt'.format(img_id) label = _get_annotation(label_path) # img_path = '/data1/gcz/拍照清单数据集_备份/87436979.jpg' # 初始化网络 net = CTPN_Model(pretrained=False) model = Pytorch_model(model_path, net=net, gpu_id=None) # for i in range(100): # model.predict(img_path) boxes_list, t = model.predict(img_path) print(boxes_list) img = draw_bbox(img_path, boxes_list, color=(0, 0, 255)) cv2.imwrite('result.jpg', img) # img = draw_bbox(img, label,color=(0,0,255)) show_img(img[:, :, ::-1], color=True) plt.show()
img = draw_bbox(img_path, label) cv2.imwrite(save_path, img) return img if __name__ == '__main__': import torch import utils.config_synthtext as config from utils.utils import show_img from tqdm import tqdm from torch.utils.data import DataLoader import matplotlib.pyplot as plt from torchvision import transforms train_data = Synthtext(config.trainroot, data_shape=config.data_shape, n=config.n, m=config.m) train_loader = DataLoader(dataset=train_data, batch_size=2, shuffle=False, num_workers=0) pbar = tqdm(total=len(train_loader)) for i, (img, label, mask) in enumerate(train_loader): print(label.shape) print(img.shape) print(label[0][-1].sum()) print(mask[0].shape) # pbar.update(1) show_img((img[0] * mask[0].to(torch.float)).numpy().transpose(1, 2, 0)*[0.229, 0.224, 0.225]+[0.485, 0.456, 0.406], color=True) show_img(label[0]) show_img(mask[0]) plt.show() break pbar.close()
is_transform=True, img_size=config.data_shape, kernel_num=config.kernel_num, min_scale=config.min_scale) for i in range(len(train_data)): img, kernel, mask = train_data[9] # for i, (img, label, mask) in enumerate(train_data): print(i) print(kernel.shape) print(img.shape) print(kernel[0][-1].sum()) print(mask[0].sum()) show_img(((img.to(torch.float)).numpy().transpose(1, 2, 0) * [0.229, 0.224, 0.225] + [0.485, 0.456, 0.406]), color=True) show_img(kernel) show_img(mask) plt.show() break # for i in trange(len(train_data)): # img, kernel, mask = train_data[i] # img = img.permute(1,2,0) # img = img-img.min() # img = img/img.max()*255 # img = img.data.cpu().numpy() # img = img.astype('uint8') # i=0 # cv2.imwrite('trash/img{}.png'.format(i), img)