import os
import numpy
import cv2 bad_label_file = open("bad_valid.list",'r') names = []
for line in open('data/coco.names','r'):
names.append(line.strip('\n'))
classes = len(names) colors = []
for i in range(80):
#color = [random.uniform(0, 255),random.uniform(0, 255),random.uniform(0, 255)]
color = [(i)*255/classes,(classes-i)*255/classes,(classes+i)*128/classes]
colors.append(color) lines = []
for line in bad_label_file:
lines.append(line) mount = len(lines) oper=0
i=0 #for i in range(mount):
while(i<mount):
i+=oper words = lines[i].split(':')
imagepath = words[0]
#print('reading "{}: No. {}"'.format(path,indexes))
print('{}\\{}'.format(mount,i)) src = cv2.imread(imagepath)
#cv2.imshow("src",src)
h,w = src.shape[:2] labelpath = imagepath.split('-')[0]+'-labels/'+os.path.basename(imagepath).split('.')[0]+'.txt'
try:
labelfile = open(labelpath,'r')
labels = []
for line in labelfile:
#print('get label {}'.format(line))
labels.append(line) for label in labels:
ti,tx,ty,tw,th = map(float,label.split(' ')[:5])
#print('get label {} {} {} {} {}'.format(ti,tx,ty,tw,th))
x0=w*(tx-tw/2)
y0=h*(ty-th/2)
x1=w*(tx+tw/2)
y1=h*(ty+th/2)
w0=w*tw
h0=h*th
ti,x0,y0,x1,y1,w0,h0 = map(int,[ti,x0,y0,x1,y1,w0,h0])
#print('<({},{}),({},{})>,'.format(x0,y0,x1,y1))
cv2.rectangle(src,(x0,y0),(x1,y1),colors[ti],2)
y0+=15
#cv2.putText(src,str(ti)+' '+names[ti],(x0+1,y0+1),cv2.FONT_HERSHEY_COMPLEX,0.5,colors[ti][::-1],1)
#cv2.putText(src,str(ti)+' '+names[ti],(x0-1,y0-1),cv2.FONT_HERSHEY_COMPLEX,0.5,colors[ti][::-1],1)
cv2.putText(src,str(ti)+' '+names[ti],(x0,y0),cv2.FONT_HERSHEY_COMPLEX,0.5,colors[ti],1)
except :
print('guess what? ERROR!(show_bad_valid.py::67)') words = words[1].strip('\n')
probs = words.split(' ')[2:]
#print(words)
#print(probs)
if len(probs) > 0:
for prob in probs:
values = prob.strip('<').strip('>').split(',')
print(values)
ti,tx,ty,tw,th = map(float,values[2:])
x0=w*(tx-tw/2)
y0=h*(ty-th/2)
x1=w*(tx+tw/2)
y1=h*(ty+th/2)
ti,x0,y0,x1,y1 = map(int,[ti,x0,y0,x1,y1])
y1-=10
cv2.rectangle(src,(x0,y0),(x1,y1),colors[ti][::-1],1)
cv2.putText(src,str(ti)+' '+names[ti],(x0,y1),cv2.FONT_HERSHEY_COMPLEX,0.5,colors[ti],1) cv2.imshow("image",src) key = cv2.waitKey(0)
'''
A 65
a 97
D 68
d 100
S 83
s 115
'''
if key == 97:
if i>0:
oper=-1
elif key == 100:
if i<len(lines):
oper=1
elif key == 115:
oper=0
cv2.imwrite('workingspace.jpg',src)
else:
break
bad_label_file.close()

[darknet]查看错误结果 sight of wrong的更多相关文章

  1. 启动mysql错误解决方案,学会查看错误日志:mysql.sock丢失,mysqld_safe启动报错

    本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正. 我的是CentOS6.3+MySQL5.1.57. 重启了一次服务器后,使用> mysql -u root -p登陆 ...

  2. IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)

    IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)  等 请见博客园的  我的收藏

  3. mysql工具——perror(mysql错误代码,查看错误号释义)

    mysql工具——perror(mysql查看错误代码,查看错误号释义) 关键词:mysql错误代码,mysql错误号,perror

  4. Dos窗口一闪而过,如何查看错误?

    问:Dos窗口一闪而过,如何查看错误? 答:在执行程序最后追加pause或者read(,),即可查看错误信息.

  5. wampserver 运行橙色,80端口没有被占用,查看错误日志方法

    wampserver运行时橙色,经检查80端口并没有被占用,试了很多种方法都无效,去查看错误日志吧 1.以管理员身份打开CMD 注意这里必须是管理员身份的CMD ,powershell不行的 进入wa ...

  6. sae上屏蔽错误显示并查看错误日志

    首先应用上线之前肯定要屏蔽错误显示的, 登录sae,点进去你的应用, 关闭之后进入日志管理当前的当前版本 在http中可以查看各个级别的日志记录了

  7. JMeter采用NON GUI模式时如何记录并查看错误

    在GUI模式下执行JMeter测试时,我们可以通过添加View Results Tree组件来查看JMeter请求的各类详情.那如果在正式测试场景中,当我们采用NON GUI模式时,遇到了断言或其他错 ...

  8. 在linux中怎么查看错误日志

    cat或者tail -f命令 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全 ...

  9. 查看错误日志发现有两个警告(ignored in --skip-name-resolve mode)

    2016-08-02 17:30:26 17374 [Warning] 'user' entry '@losnau-223.com' ignored in --skip-name-resolve mo ...

随机推荐

  1. linux 服务器时间同步

    1  12 *  *  * .usr/sbin/nttpdate pool.ntp.org 分时 天 周 月 定时更同步 crontab -e 先查看是否安装 ntp这个包 没有安装的话 yum-y ...

  2. 报文分析5、UDP协议的头结构

    UDP协议的头结构 源端口(2字节) 目的端口(2字节) 封报长度(2字节) 校验和(2字节) 数据 (1)源端口(Source Port):16位的源端口域包含初始化通信的端口号.源端口和IP地址的 ...

  3. spark1.3.x与spark2.x启动executor不同的cpu core分配方式

    ***这里的executor在worker上分配策略以spreadOut 为例*** 1.3版本关键点: for (app <- waitingApps if app.coresLeft > ...

  4. java-类、对象

    1.类和对象: 类是抽象的,通常不能直接使用 对象是具体的,根据类来创建对象. 2.如何定义一个类:成员变量.成员方法 成员变量:直接定义在类中,在方法外面 成员方法:去掉static 关键字,其他和 ...

  5. 使用paginate分页后数据处理

    public function index(){ $sql = ""; $list = ""; $pagenumber = 20;//默认分页条数 //查询数据 ...

  6. mysql 日期 字符串

    Mysql 中字符串转时间跟Oracle略不同,函数为 str_to_date 应注意的是里面的大小写 如下: MySQL内置函数,在mysql里面利用str_to_date()把字符串转换为日期. ...

  7. HTML个人简介

    <!doctype html><html lang="en"> <head> <meta charset="UTF-8" ...

  8. 【Linux】Centos partition

    http://www.cnblogs.com/yogurtwu/p/9494108.html https://www.cnblogs.com/zhangkaimin/p/6251448.html wh ...

  9. MySQL数据库常用命令和概念 (1)

    一.数据库的创建: 1.创建一个名称为mydb1的数据库 create database mydb1; 2.创建一个使用utf8字符集的mydb2数据库. create database mydb2 ...

  10. Java面试宝典(2018版)

    置顶 2018年11月10日 23:49:18 我要取一个响亮的昵称 阅读数:8893    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/chen ...