# -*- coding: utf-8 -*-
# @Time : 2020/2/8 22:14
# @Author : SanZhi
# @File : get_xml.py
# @Software: PyCharm
import cv2
import xml.dom.minidom
import os
def main():
# JPG文件的地址
img_path = 'C:/Faster-RCNN-TensorFlow-Python3-master/data/VOCdevkit2007/VOC2007/JPEGImages/'
# XML文件的地址
anno_path = 'C:/Faster-RCNN-TensorFlow-Python3-master/data/VOCdevkit2007/VOC2007/Annotations/'
# 存结果的文件夹
cut_path = 'C:/Faster-RCNN-TensorFlow-Python3-master/data/demo_roi_cut/'
# 获取文件夹中的文件
imagelist = os.listdir(img_path)
for image in imagelist:
image_pre, ext = os.path.splitext(image)
img_file = img_path + image
img = cv2.imread(img_file)
xml_file = anno_path + image_pre + '.xml'
DOMTree = xml.dom.minidom.parse(xml_file)
collection = DOMTree.documentElement
objects = collection.getElementsByTagName("object")
for object in objects:
print("start")
bndbox = object.getElementsByTagName('bndbox')[0]
xmin = bndbox.getElementsByTagName('xmin')[0]
xmin_data = xmin.childNodes[0].data
ymin = bndbox.getElementsByTagName('ymin')[0]
ymin_data = ymin.childNodes[0].data
xmax = bndbox.getElementsByTagName('xmax')[0]
xmax_data = xmax.childNodes[0].data
ymax = bndbox.getElementsByTagName('ymax')[0]
ymax_data = ymax.childNodes[0].data
xmin = int(xmin_data)
xmax = int(xmax_data)
ymin = int(ymin_data)
ymax = int(ymax_data)
img_cut = img[ymin:ymax, xmin:xmax, :]
cv2.imwrite(cut_path + 'cut_img_{}.jpg'.format(image_pre), img_cut)
if __name__ == '__main__':
main()
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交