Faster批量测试并保存\所有类一起显示\groundtrue显示

该博客介绍了如何优化Python对象检测代码,实现批量测试并保存检测结果。通过修改,现在可以在一张图片上同时展示所有类别的检测框,并且与原始groundtruth对比,以绿色框显示真实标签,黄色框显示类别名称,增强了结果的直观性。
摘要由CSDN通过智能技术生成

原来的功能只是单张图片并且按类显示出框,修改后批量测试并保存,所有类的检测结果绘制在一张图片上,且同时将groundtrue一起绘制出来。

原来的代码:将检测图片复制n次,在不同图片上显示不同类的检测结果。比如苹果和梨子,分别在两张图显示。

第一步修改:在检测原图上,显示所有类的检测结果。比如检测到梨子和苹果,都显示在一张图片里。

第二步修改:批量测试。写了一个txt文件的读取,直接读取我们做的voc数据集中Main文件下存放图像名字的txt文件,然后按里面的图像名字一个个输入到网络进行检测。最后写了一个保存函数,将结果一个个保存。

第三步修改:将我们打的标签一并显示在检测图片上,来直观的看检测到底对不对,框的偏移怎么样。写了一段xml解析代码,将图片名字对应的xml解析,读取里面的类别和坐标,然后用绘图函数画出来。

#!/usr/bin/env python

# --------------------------------------------------------
# Tensorflow Faster R-CNN
# Licensed under The MIT License [see LICENSE for details]
# Written by Xinlei Chen, based on code from Ross Girshick

#qhy
#2018.10.26
# --------------------------------------------------------

"""
Demo script showing detections in sample images.

See README.md for installation instructions before running.
"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import xml.etree.ElementTree as ET
import _init_paths
from model.config import cfg
from model.test import im_detect
from model.nms_wrapper import nms

from utils.timer import Timer
import tensorflow as tf
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import os, cv2
import argparse


from nets.vgg16 import vgg16
from nets.resnet_v1 import resnetv1

CLASSES = ('__background__',  # always index 0
                     'normal bolt','normal bolt-2','normal bolt-3','nut losing','nut losing-2','nut directly loosening','pin closing','visible pin losing','visible pin losing-2',&#
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值