first commit
This commit is contained in:
commit
54ccfb11fe
218 files changed
+19525
No files matched your search
Executable
+56
@@ -0,0 +1,56 @@
|
||||
'''
|
||||
author : Hatcher W
|
||||
Email: hcwang@semi.ac.cn
|
||||
use: 用于检测voc数据集是否正确,
|
||||
input:(图像的文件夹路径,图像标签文件夹路径)
|
||||
output:check路径,所有的可视化结果都在里面
|
||||
'''
|
||||
import os
|
||||
import cv2
|
||||
import xml.dom.minidom
|
||||
from tqdm import tqdm
|
||||
|
||||
image_path="./JPEGImages/"
|
||||
annotation_path="./Annatations/"
|
||||
save_path ="./check/"
|
||||
num = 0
|
||||
files_name = os.listdir(image_path)
|
||||
for filename_ in tqdm(files_name):
|
||||
filename, extension= os.path.splitext(filename_)
|
||||
#filename=filename.split('__')[0]
|
||||
img_path =image_path+filename+'.jpg'
|
||||
xml_path =annotation_path+filename+'.xml'
|
||||
img = cv2.imread(img_path)
|
||||
if img is None:
|
||||
pass
|
||||
try:
|
||||
dom = xml.dom.minidom.parse(xml_path)
|
||||
except:
|
||||
#os.remove(img_path)
|
||||
continue
|
||||
root = dom.documentElement
|
||||
objects=dom.getElementsByTagName("object")
|
||||
for object in objects:
|
||||
bndbox = object.getElementsByTagName('bndbox')[0]
|
||||
xmin = bndbox.getElementsByTagName('xmin')[0]
|
||||
ymin = bndbox.getElementsByTagName('ymin')[0]
|
||||
xmax = bndbox.getElementsByTagName('xmax')[0]
|
||||
ymax = bndbox.getElementsByTagName('ymax')[0]
|
||||
#print(xmin.childNodes[0].data)
|
||||
#print(type(xmin.childNodes[0].data))
|
||||
xmin_data=int(xmin.childNodes[0].data)
|
||||
ymin_data=int(ymin.childNodes[0].data)
|
||||
xmax_data=int(xmax.childNodes[0].data)
|
||||
ymax_data=int(ymax.childNodes[0].data)
|
||||
label_name=object.getElementsByTagName('name')[0].childNodes[0].data
|
||||
cv2.rectangle(img,(xmin_data,ymin_data),(xmax_data,ymax_data),(55,255,155),1)
|
||||
num +=1
|
||||
cv2.putText(img,label_name,(xmin_data,ymin_data-3),cv2.FONT_HERSHEY_SIMPLEX,0.5,(0,255,0),2)
|
||||
flag=0
|
||||
flag=cv2.imwrite(save_path+"{}.jpg".format(filename),img)
|
||||
if not (flag):
|
||||
print(filename,"error")
|
||||
print("all done ====================================")
|
||||
print("number = ",num)
|
||||
|
||||
#(int((xmin_data+xmax_data/2)),int((ymin_data+ymax_data)/2))
|
||||
Reference in new issue
Block a user