对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实现字符串逆序输出功能示例
Jun 24 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 Python
python实现搜索文本文件内容脚本
Jun 22 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
python看某个模块的版本方法
Oct 16 Python
3分钟学会一个Python小技巧
Nov 23 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
python自动发微信监控报警
Sep 06 Python
python 读取更新中的log 或其它文本方式
Dec 24 Python
tensorflow的计算图总结
Jan 12 Python
Anconda环境下Vscode安装Python的方法详解
Mar 29 Python
python中remove函数的踩坑记录
Jan 04 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
使用eAccelerator加密PHP程序
2008/10/03 PHP
php cout<<的一点看法
2010/01/24 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
浅谈JavaScript Array对象
2014/12/29 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
解决使用layui对select append元素无效或者未及时更新的问题
2019/09/18 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
详细分析vue响应式原理
2020/06/22 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python自定义类并使用的方法
2015/05/07 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
2020/02/15 Python
详解django中Template语言
2020/02/22 Python
执行Python程序时模块报错问题
2020/03/26 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
2020/10/30 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
港湾网络笔试题
2014/04/19 面试题
大学生职业生涯规划书
2014/03/14 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
三好学生个人总结
2015/02/15 职场文书
2015年社区居委会工作总结
2015/05/18 职场文书
员工考勤管理制度
2015/08/06 职场文书