对YOLOv3模型调用时候的python接口详解


Posted in Python onAugust 26, 2019

需要注意的是:更改完源程序.c文件,需要对整个项目重新编译、make install,对已经生成的文件进行更新,类似于之前VS中在一个类中增加新函数重新编译封装dll,而python接口的调用主要使用的是libdarknet.so文件,其余在配置文件中的修改不必重新进行编译安装。

之前训练好的模型,在模型调用的时候,总是在

lib = CDLL("/home/*****/*******/darknet/libdarknet.so", RTLD_GLOBAL)这里读不到darknet编译生成的.so文件,导致直接的报错;之前以为是文件路径的问题,稀里糊涂的;由于很久不写c文件了,所以最后直接在python接口后在py文件中修改的画框、标置信度等操作,一次次的尝试后终于成功

(1)将项目中python文件下的darknet.py文件拷贝到根目录,和/libdarknet.so在同一个目录下

(2)整个demo程序都是用绝对路径;

实现yolov3模型加载,批量读取文件夹下的照片到库函数变量,最终处理结果存入在另外新建文件夹

###2019.04.03 by ylxb
def showPicResult(image,peoplecar,outimage):
  img = cv2.imread(image)
  out_img =outimage
  cv2.imwrite(out_img, img)
  for i in range(len(peoplecar)):
    x1=peoplecar[i][2][0]-peoplecar[i][2][2]/2
    y1=peoplecar[i][2][1]-peoplecar[i][2][3]/2
    x2=peoplecar[i][2][0]+peoplecar[i][2][2]/2
    y2=peoplecar[i][2][1]+peoplecar[i][2][3]/2
    im = cv2.imread(out_img)
    cv2.rectangle(im,(int(x1),int(y1)),(int(x2),int(y2)),(255,255,0),3)
    text = listpeoplecar[i][0]
    # 在图片上添加文字信息
    if(text=="people"):
      carcol=(55, 55, 255)#颜色显示
    else:
      carcol = (255, 55, 55)
    cv2.putText(im, text, (int(x1), int(y1)), cv2.FONT_HERSHEY_SIMPLEX,
          0.8, carcol, 1, cv2.LINE_AA)
    #This is a method that works well.
    cv2.imwrite(out_img, im)
###2019.04.03 by ylxb
  filenames = os.listdir(picDir)
  i = 0
  num = 0#目标个数
  car_num = 0#car个数
  people_num = 0#people个数

  car = "car" # car元素
  people = "people" # people元素

  for name in filenames:
    filename=os.path.join(picDir,name)
    #print(filename)
    listpeoplecar = detect(net, meta, filename)
    print(listpeoplecar)
    i = i + 1
    #save_picpath = out_img+str(filename).split("/")[-1].split(".")[0] + ".png"
    out_img=out_img1+str(i)+'.png'
    showPicResult(filename,listpeoplecar,out_img)

    for item in listpeoplecar:
      #print(item)
      car_num = car_num + item[0].count(car)#car个数
      people_num = people_num + item[0].count(people)#people个数
      num = num + 1#目标个数

  print('car个数: ' + str(car_num))
  print('people个数: ' + str(people_num))
  print('共检测出目标个数: ' + str(num))
  print('共检测照片个数:'+ str(i))

放其中一个照片测试照片:

对YOLOv3模型调用时候的python接口详解

以上这篇对YOLOv3模型调用时候的python接口详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python爬取网站数据保存使用的方法
Nov 20 Python
Python编码爬坑指南(必看)
Jun 10 Python
python3编码问题汇总
Sep 06 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
Nov 11 Python
Python基于辗转相除法求解最大公约数的方法示例
Apr 04 Python
详解Python中的四种队列
May 21 Python
matplotlib.pyplot绘图显示控制方法
Jan 15 Python
Python发展简史 Python来历
May 14 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
Python基于BeautifulSoup和requests实现的爬虫功能示例
Aug 02 Python
Python笔记之观察者模式
Nov 20 Python
python之列表推导式的用法
Nov 29 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 #Python
python3 反射的四种基本方法解析
Aug 26 #Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 #Python
深入学习python多线程与GIL
Aug 26 #Python
用python生成与调用cntk模型代码演示方法
Aug 26 #Python
python list转置和前后反转的例子
Aug 26 #Python
python3 map函数和filter函数详解
Aug 26 #Python
You might like
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
javascript 变量作用域 代码分析
2009/06/26 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
jquery实现左右滑动式轮播图
2017/03/02 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
JavaScript基础心法 数据类型
2018/03/05 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
使用JS实现导航切换时高亮显示的示例讲解
2018/08/22 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
JS如何生成动态列表
2020/09/22 Javascript
详解Python中的join()函数的用法
2015/04/07 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
在Pycharm中对代码进行注释和缩进的方法详解
2019/01/20 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
写自荐信有哪些不宜?
2013/10/17 职场文书
高级护理专业大学生求职信
2013/10/24 职场文书
房地产融资计划书
2014/01/10 职场文书
建筑工地文明标语
2014/10/09 职场文书
见习报告格式范文
2014/11/08 职场文书
运动会报道稿大全
2015/07/23 职场文书
三八妇女节致辞
2015/07/31 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
Golang 遍历二叉树
2022/04/19 Golang