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. Apache Arrow

    https://www.kdnuggets.com/2017/02/apache-arrow-parquet-columnar-data.html https://arrow.apache.org/ ...

  2. poj1164

    #include<iostream> using namespace std; ][]; ][]; int roomnum; int maxroom; int m,n; typedef s ...

  3. vue加载流程

    首先加载main.js,main.js中new一个vue实例,这个实例中会有一个id="app"映射到app.vue,启动时候首页映射到index.html,其中<div i ...

  4. 用servlet进行用户名和密码校验1

    运行效果如下: 代码截图: 登陆网页: 显示网页: 网盘链接: 链接:https://pan.baidu.com/s/1g5XJ6y8u5R5Wt0Lkj9g9lg 提取码:bphb

  5. Zookeeper基本信息

    Zookeeper特点: 1.中间件,提供协调服务 2.作用于分布式系统,可以为大数据服务 3.支持java,提供java和c语言的客户端的api 分布式系统: 1.很多台计算机组成一个整体,一个整体 ...

  6. 【Python】This inspection detects names that should resolve but don't. Due to dynamic dispatch and duck

    情况一:导包import时发生错误,请参考这两位 https://blog.csdn.net/zhangyu4863/article/details/80212068https://www.cnblo ...

  7. 初识python爬虫框架Scrapy

    Scrapy,按照其官网(https://scrapy.org/)上的解释:一个开源和协作式的框架,用快速.简单.可扩展的方式从网站提取所需的数据. 我们一开始上手爬虫的时候,接触的是urllib.r ...

  8. iframe父页面与子页面赋值

    最近因为公司之前的系统用iframe,里面的高度不能自适应,导致了很多问题,今天特意拿来研究一下,从网上找了一些方法试验了一下,这里记录一下成功的方法 1.父页面获取子页面的高度,并给父页面赋值 父页 ...

  9. pytorch加载预训练模型参数的方式

    1.直接使用默认程序里的下载方式,往往比较慢: 2.通过修改源代码,使得模型加载已经下载好的参数,修改地方如下: 通过查找自己代码里所调用网络的类,使用pycharm自带的函数查找功能(ctrl+鼠标 ...

  10. php通过pecl方式安装扩展

    安装pecl cd /usr/local/php/bin/ wget http://pear.php.net/go-pear.phar -O go-pear.php php go-pear.php # ...