PythonはVOC形式のラベルを生成する

1967 ワード

共通ターゲット検出モデルは基本的に読み込まれたPASCAL VOC形式のラベルであり、以下のコードはVOC形式のコードを生成するために使用され、必要に応じて修正すればよい.
from lxml import etree, objectify

def gen_txt(filename, h, w, c):
    E = objectify.ElementMaker(annotate=False)
    anno_tree = E.annotation(
        E.folder('VOC_OPEN_IMAGE'),
        E.filename(filename),
        E.source(
            E.database('The VOC2007 Database'),
            E.annotation('PASCAL VOC2007'),
            E.image('flickr'),
            E.flickrid("341012865")
        ),
        E.size(
            E.width(w),
            E.height(h),
            E.depth(c)
        ),
        E.segmented(0),
        E.object(
            E.name('1'),
            E.pose('left'),
            E.truncated('1'),
            E.difficult('0'),
            E.bndbox(
                E.xmin('0'),
                E.ymin('0'),
                E.xmax('0'),
                E.ymax('0')
            )
        ),
    )
    etree.ElementTree(anno_tree).write('ann/'+filename[:-4]+".xml", pretty_print=True)