2.显示xml标注框

import os
import xml.dom.minidom
import cv2
a=[]
ImgPath = 'C:\\Users\chenlufei\Desktop\data\stair\stair\\'
AnnoPath = 'C:\\Users\chenlufei\Desktop\data\stair\stair_xml\outputs\\'

#ImgPath = 'C:\\Users\chenlufei\Desktop\data\stair\stair\\'
#AnnoPath = 'C:\\Users\chenlufei\Desktop\data\stair\stair_xml\outputs\\'
imagelist = os.listdir(ImgPath)

for image in imagelist:
    image_pre, ext = os.path.splitext(image)  # 分离文件名与扩展名
    imgfile = ImgPath + image
    print(imgfile)
    xmlfile = AnnoPath + image_pre + '.xml'

    # 打开xml文档
    DOMTree = xml.dom.minidom.parse(xmlfile)
    # 得到文档元素对象
    collection = DOMTree.documentElement

    # 读取图片
    img = cv2.imread(imgfile)


    filenamelist = collection.getElementsByTagName("name")


    try:
        filename = filenamelist[0].childNodes[0].data
    except:
        a.append(imgfile)
        continue

    cv2.putText(img,filename,(10,20), cv2.FONT_HERSHEY_COMPLEX, 0.7, (0, 255, 0), thickness=2)
    img_size_list=collection.getElementsByTagName('size')
    for img_size in img_size_list:
        img_width_list = img_size.getElementsByTagName('width')
        img_height_list = img_size.getElementsByTagName('height')
        img_width = img_width_list[0].childNodes[0].data
        img_height = img_height_list[0].childNodes[0].data
        cv2.putText(img, img_width, (10, 40), cv2.FONT_HERSHEY_COMPLEX, 0.7, (0, 255, 0), thickness=2)
        cv2.putText(img, img_height, (10, 60), cv2.FONT_HERSHEY_COMPLEX, 0.7, (0, 255, 0), thickness=2)

    # 得到标签名为object的信息
    objectlist = collection.getElementsByTagName("object")
    for objects in objectlist:
        # 每个object中得到子标签名为name的信息
        namelist = objects.getElementsByTagName('name')
        objectname = namelist[0].childNodes[0].data
        bndbox = objects.getElementsByTagName('bndbox')
        for box in bndbox:
            x1_list = box.getElementsByTagName('xmin')
            x1 = int(x1_list[0].childNodes[0].data)
            y1_list = box.getElementsByTagName('ymin')
            y1 = int(y1_list[0].childNodes[0].data)
            x2_list = box.getElementsByTagName('xmax')
            x2 = int(x2_list[0].childNodes[0].data)
            y2_list = box.getElementsByTagName('ymax')
            y2 = int(y2_list[0].childNodes[0].data)
            cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), thickness=2)
            cv2.putText(img, objectname, (x1, y1), cv2.FONT_HERSHEY_COMPLEX, 0.7, (0, 255, 0), thickness=2)
    print(a)
    cv2.imshow('img', img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
\

### 回答1: paddlepaddle是一种开源深度学习架,xml2json.py是该架中的一个文件。 xml2json.py是一个用于将XML格式的数据转换为JSON格式的工具。在深度学习中,数据通常以不同的格式存在,而XML和JSON都是常用的数据交换格式之一。通过将XML数据转换为JSON格式,可以更方便地在深度学习架中进行数据处理和分析。 在使用paddlepaddle进行深度学习任务时,我们可能需要使用xml2json.py来处理特定的数据集。例如,如果我们有一个XML格式的图像标注数据集,可以使用xml2json.py将其转换为JSON格式,方便地读取和处理。 使用xml2json.py非常简单。我们只需要执行相应的命令或调用相关的函数,即可将XML数据转换为JSON格式。具体的使用方法可以参考相关的文档和代码示例。 总的来说,paddlepaddle的xml2json.py是一个用于将XML数据转换为JSON格式的工具,在深度学习任务中起到了简化数据处理流程的作用。在使用该工具时,我们只需要按照相应的方法调用,即可快速地将XML格式的数据转换为JSON格式,方便进一步的数据分析和处理。 ### 回答2: paddlepaddle xml2json.py是一个用于将XML文件转换为JSON格式的Python脚本。XML是一种标记语言,常用于在不同应用程序之间交换数据。JSON是一种轻量级的数据交换格式,在Web应用程序中广泛使用。 使用paddlepaddle xml2json.py脚本可以方便地将XML文件转换为JSON格式的数据。这对于那些需要将XML数据转换为JSON的开发人员和数据分析师来说非常有用。 使用该脚本的步骤如下: 1. 首先,确保已经安装了Python和paddlepaddle库。可以在命令行中运行pip install paddlepaddle命令来安装该库。 2. 将要转换的XML文件放置在与xml2json.py脚本相同的目录中。 3. 打开终端或命令行窗口,并导航到xml2json.py脚本所在的目录。 4. 运行以下命令来执行转换: python xml2json.py your_xml_file.xml 值得注意的是,将your_xml_file.xml替换为实际的XML文件名。 5. 执行完上述命令后,脚本将读取XML文件并将其转换为JSON格式。转换后的JSON数据会在终端或命令行窗口中显示出来。 使用paddlepaddle xml2json.py脚本可以帮助用户快速、简便地将XML数据转换为JSON格式。这对于进一步处理和分析数据非常有帮助,尤其是在涉及不同格式的数据交换和处理时。通过将数据转换为JSON格式,可以更方便地在不同的应用程序和平台之间进行数据交互和共享。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值