根据bounding box的四个点坐标信息,在原图上画出bboundingbox

import cv2
import os
import numpy as np

def get_images(test_data_path):
    files = []
    exts = ['jpg', 'png', 'jpeg', 'JPG']
    for parent, dirnames, filenames in os.walk(test_data_path):
        for filename in filenames:
            for ext in exts:
                if filename.endswith(ext):
                    files.append(os.path.join(parent, filename))
                    break
    print('Find {} images'.format(len(files)))
    return files

def drawbbox(lablePath, ImgPath, savePath):
    if not os.path.exists(savePath):
        os.makedirs(savePath)

    filenames = get_images(ImgPath)
    for img in filenames:
        print('process :  {}'.format(img))
        txt = os.path.join(lablePath, os.path.basename(img).replace(img[-3:],'txt'))
        try:
            im = cv2.imread(img)
        except:
            print("Error reading image {}!".format(img))
            continue
        with open(txt, 'r') as f:
            allboxes = f.readlines()
            for box in allboxes:
                box = np.array(list(map(int, box.split())))
                cv2.polylines(im, [box.astype(np.int32).reshape((-1, 1, 2))], True, color=(0, 255, 0),
                              thickness=2)
                cv2.imwrite(os.path.join(savePath, os.path.basename(img)), im)

if __name__ == '__main__' :
    labelPath = ''
    ImgPath = '.\\AuthImg\\'
    savaPath = '.\\bboxImage\\'
    drawbbox(labelPath, ImgPath, savaPath)

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值