日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

目标检测--将xml文件中标签(矩形框)在其原图片上显示并另存

發(fā)布時間:2024/1/18 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 目标检测--将xml文件中标签(矩形框)在其原图片上显示并另存 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
""" 目的:將原圖片(img)與其xml(xml),合成為打標記的圖片(labelled),矩形框標記用紅色即可 已有:(1)原圖片文件夾(imgs_path),(2)xml文件夾(xmls_path) 思路:step1: 讀取(原圖片文件夾中的)一張圖片step2: 讀取(xmls_path)該圖片的xml文件,并獲取其矩形框的兩個對角頂點的位置step3: 依據(jù)矩形框頂點坐標,在該圖片中畫出該矩形框step4: 圖片另存為'原文件名'+'_labelled',存在‘lablled’文件夾中 """ import os import cv2 as cv import xml.etree.ElementTree as ETdef xml_jpg2labelled(imgs_path, xmls_path, labelled_path):imgs_list = os.listdir(imgs_path)xmls_list = os.listdir(xmls_path)nums = len(imgs_list)for i in range(nums):img_path = os.path.join(imgs_path, imgs_list[i])xml_path = os.path.join(xmls_path, xmls_list[i])img = cv.imread(img_path)labelled = imgroot = ET.parse(xml_path).getroot()objects = root.findall('object')for obj in objects:bbox = obj.find('bndbox')xmin = int(float(bbox.find('xmin').text.strip()))ymin = int(float(bbox.find('ymin').text.strip()))xmax = int(float(bbox.find('xmax').text.strip()))ymax = int(float(bbox.find('ymax').text.strip()))labelled = cv.rectangle(labelled, (xmin, ymin), (xmax, ymax), (0, 0, 255), 1)cv.imwrite('%s%s_labelled.jpg' % (labelled_path, imgs_list[i]), labelled)# cv.imshow('labelled', labelled)# cv.imshow('origin', origin)# cv.waitKey()if __name__ == '__main__':imgs_path = '自定義'xmls_path = '自定義'labelled_path = '自定義'xml_jpg2labelled(imgs_path, xmls_path, labelled_path)

總結(jié)

以上是生活随笔為你收集整理的目标检测--将xml文件中标签(矩形框)在其原图片上显示并另存的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。