[darknet]查看错误结果 sight of wrong
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的更多相关文章
- 启动mysql错误解决方案,学会查看错误日志:mysql.sock丢失,mysqld_safe启动报错
本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正. 我的是CentOS6.3+MySQL5.1.57. 重启了一次服务器后,使用> mysql -u root -p登陆 ...
- IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows)
IE调试网页之三:使用 F12 工具控制台查看错误和状态 (Windows) 等 请见博客园的 我的收藏
- mysql工具——perror(mysql错误代码,查看错误号释义)
mysql工具——perror(mysql查看错误代码,查看错误号释义) 关键词:mysql错误代码,mysql错误号,perror
- Dos窗口一闪而过,如何查看错误?
问:Dos窗口一闪而过,如何查看错误? 答:在执行程序最后追加pause或者read(,),即可查看错误信息.
- wampserver 运行橙色,80端口没有被占用,查看错误日志方法
wampserver运行时橙色,经检查80端口并没有被占用,试了很多种方法都无效,去查看错误日志吧 1.以管理员身份打开CMD 注意这里必须是管理员身份的CMD ,powershell不行的 进入wa ...
- sae上屏蔽错误显示并查看错误日志
首先应用上线之前肯定要屏蔽错误显示的, 登录sae,点进去你的应用, 关闭之后进入日志管理当前的当前版本 在http中可以查看各个级别的日志记录了
- JMeter采用NON GUI模式时如何记录并查看错误
在GUI模式下执行JMeter测试时,我们可以通过添加View Results Tree组件来查看JMeter请求的各类详情.那如果在正式测试场景中,当我们采用NON GUI模式时,遇到了断言或其他错 ...
- 在linux中怎么查看错误日志
cat或者tail -f命令 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全 ...
- 查看错误日志发现有两个警告(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 ...
随机推荐
- oo第三次总结
一.(1)规格化设计的大致发展历史 20世纪60年代,随着大容量.高速度的计算机出现,以及大量语言的新增和软件的不可靠,爆发了所谓的“软件危机”.而针对这个问题,人们提出了规格化设计的解决方法.通过把 ...
- 【C++】子序列匹配问题
/* 一个串的“子序列”(subsequence)是将这个串中的一些字符提取出来得到一个新串,并且不改变它们的相对位置关系.例如,串"XDoi","XianYu!&quo ...
- linux查看所有用户信息
所有的用户信息在根目录/etc/中passwd文件内,而passwd的所有权限是root用户及root组用户,所有想要查看所有用户,需要root用户登录系统. root用户登录后,可以直接用查看命令c ...
- css相关整理-其他
1.设备像素(device pixel): 设备像素是物理概念,指的是设备中使用的物理像素.CSS像素(css pixel): CSS像素是Web编程的概念,指的是CSS样式代码中使用的逻辑像素.通过 ...
- .net中使用 道格拉斯-普特 抽希轨迹点
Douglas一Peukcer算法由D.Douglas和T.Peueker于1973年提出,简称D一P算法,是目前公认的线状要素化简经典算法.现有的线化简算法中,有相当一部分都是在该算法基础上进行改进 ...
- git使用:本地项目推送到gitlab
背景:目前公司用gitlab管理我们的项目,经常遇到的问题是,我会在其他已有项目上直接进行修改,然后用于新项目的自动化测试,但是本地推送到gitlab的时候每次都要重新查询一遍怎么操作,特意写下这篇文 ...
- 如何去掉wordpress后台notice提示窗口
我们在安装完wordpress插件后,有些会在后台页面弹出一个提示你去收费升级pro版,如下图所示,这无可厚非,基础功能可以免费用,如果要用高级功能可以升级.有些朋友觉得基础功能够用了,又不想看到弹出 ...
- opencart3属性attribute实现换行等简单html代码
opencart3属性attribute在前台页面默认是没有解析html代码功能的,比如想实现换行,后台这样写:line 1<br>line 2,但前台产品页也是line 1<br& ...
- liunx安装py.27
liunx安装py.27 按网站(https://blog.csdn.net/u012071918/article/details/78817344) 上的教程安装py.27 1.安装依赖的库 在终端 ...
- numpy处理时间序列
1. 字符串转成numpy.datetime64格式 import numpy as np #将字符串转换成numpy格式时间 #注意个位前补0,如1月写成01 nd=np.datetime64('2 ...