ADD GT

import os
import cv2
import numpy as np

gt_path = r'M:\Born-Digital Images\ch1_training_localization_transcription_gt'
img_path = r'M:\Born-Digital Images\Challenge1_Training_Task12_Images'
save_path = r'M:\Born-Digital Images\output'
os.mkdir(save_path)
txt_list = os.listdir(gt_path)  #gt文件名列表

cnt = 0
for file_name in txt_list:
	cnt += 1
	img_name = file_name.replace('gt_','')
	img_name = img_name.replace('.txt','.jpg')
	path_img = img_path + img_name  #图的路径+名字
	img = cv2.imread(path_img)
	path_txt = gt_path + file_name  

	with open(path_txt,'r',encoding = 'utf-8') as f:
		str = f.readlines()  #按行读取gt文件 路径+文件名

    # 方框的点
	ll_pt = []
	for path in str:
		path = path.strip() #移除开头和结尾
		list_str = path.encode('utf-8').decode('utf-8-sig').split(',')

		l_pt = []
		l_pt_tmp =[]
		for i in range(0,8):
			l_pt.append(int(list_str[i]))
			if i%2 != 0:
				l_pt_tmp.append(l_pt)
				l_pt = []
		ll_pt.append(l_pt_tmp)

	for v_pt in ll_pt:
		point = np.array(v_pt,np.int32)
		cv2.polylines(img,[point],True,(0,255,255))
	cv2.imwrite(save_path+img_name,img_name)

import os
import path
import glob
import Image, ImageDraw

# ground truth directory
gt_text_dir = r'M:\Born-Digital Images\ch1_training_localization_transcription_gt'

# original images directory
image_dir = r'M:\Born-Digital Images\Challenge1_Training_Task12_Images'
imgDirs = []
imgLists = glob.glob(image_dir)

# where to save the images with ground truth boxes
imgs_save_dir = r'M:\Born-Digital Images\output'
os.mkdir(imgs_save_dir)

for item in imgLists:
    imgDirs.append(item)

for img_dir in imgDirs:
    img = Image.open(img_dir)
    dr = ImageDraw.Draw(img)    

    img_basename = os.path.basename(img_dir)
    (img_name, temp2) = os.path.splitext(img_basename)
    # open the ground truth text file
    img_gt_text_name = "gt_" + img_name + ".txt"
    print(img_gt_text_name)

    bf = open(os.path.join(gt_text_dir, img_gt_text_name)).read().decode("utf-8-sig").encode("utf-8").splitlines()

    for idx in bf:
        rect = []
        spt = idx.split(',')
        rect.append(float(spt[0]))
        rect.append(float(spt[1]))
        rect.append(float(spt[2]))
        rect.append(float(spt[3]))
        rect.append(float(spt[4]))
        rect.append(float(spt[5]))
        rect.append(float(spt[6]))
        rect.append(float(spt[7]))

        # draw the polygon with (x_1, y_1, x_2, y_2, x_3, y_3, x_4, y_4)
        dr.polygon((rect[0], rect[1], rect[2], rect[3], rect[4], rect[5], rect[6], rect[7]), outline="red")

    img.save(os.path.join(imgs_save_dir, img_basename))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值