python代码:
# -*- coding: utf-8 -*-
import xml.etree.ElementTree as ET
import os, cv2
import numpy as np
xml_file = 'C:/Users/liuqian/Desktop/ceshi/annotation/G0000_0000_0450.xml'
tree = ET.parse(xml_file)
root = tree.getroot()
imgfile = 'C:/Users/liuqian/Desktop/ceshi/images/G0000_0000_0450.png'
im = cv2.imread(imgfile)
for object in root.findall('object'):
object_name = object.find('name').text
#bndbox = object.find('bndbox').text
X0 = float(object.find('bndbox').find('x0').text)
Y0 = float(object.find('bndbox').find('y0').text)
X1 = float(object.find('bndbox').find('x1').text)
Y1 = float(object.find('bndbox').find('y1').text)
X2 = float(object.find('bndbox').find('x2').text)
Y2 = float(object.find('bndbox').find('y2').text)
X3 = float(object.find('bndbox').find('x3').text)
Y3 = float(object.find('bndbox').find('y3').text)
X0 = int(X0)
Y0 = int(Y0)
X1 = int(X1)
Y1 = int(Y1)
X2 = int(X2)
Y2 = int(Y2)
X3 = int(X3)
Y3 = int(Y3)
#print(X0)
#box = cv2.boxPoints(bndbox)
newBox = [[X0, Y0], [X1, Y1], [X2, Y2], [X3, Y3]]
color = (4, 250, 7)
#img = np.zeros([120, 120], dtype=np.uint8)
point = np.array(newBox).astype(int)
box = np.int32(point)
#cv2.line(img, tuple(point[0]), tuple(point[1]), color, 2)
#cv2.line(img, tuple(point[1]), tuple(point[2]), color, 2)
#cv2.line(img, tuple(point[2]), tuple(point[3]), color, 2)
#v2.line(img, tuple(point[3]), tuple(point[0]), color, 2)
#cv2.rectangle(im, (int(X0), int(Y0)), (int(X1), int(Y1)),(int(X2), int(Y2)),(int(X3), int(Y3)), color, 2)
#image = np.expand_dims(img, axis=2)
#image = np.concatenate((image, image, image), axis=-1)
cv2.drawContours(im, [box], 0, (0, 0, 255), 3)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(im, object_name, (X0, Y0 - 7), font, 0.5, (6, 230, 230), 2)
cv2.imshow('01', im)
cv2.imwrite('C:/Users/liuqian/Desktop/ceshi/02.png', im)
可视化之后:
参考博客:
https://www.bbsmax.com/A/WpdKygN1JV/
https://blog.csdn.net/gusui7202/article/details/83410188?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-8.channel_param