对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根据区号生成手机号码的方法
Jul 08 Python
python结合shell查询google关键词排名的实现代码
Feb 27 Python
Python端口扫描简单程序
Nov 10 Python
基于python的七种经典排序算法(推荐)
Dec 08 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
使用Python微信库itchat获得好友和群组已撤回的消息
Jun 24 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
Python3批量创建Crowd用户并分配组
May 20 Python
python判断一个变量是否已经设置的方法
Aug 13 Python
如何用python批量调整视频声音
Dec 22 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 Python
Django框架中视图的用法
Jun 10 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
js取得url地址参数实例
2013/02/22 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
Angular4学习教程之HTML属性绑定的方法
2018/01/04 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
vue实现评价星星功能
2020/06/30 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
Python生成随机密码
2015/03/10 Python
python psutil库安装教程
2018/03/19 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
django使用graphql的实例
2020/09/02 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
python中pdb模块实例用法
2021/01/15 Python
简单聊聊H5的pushState与replaceState的用法
2018/04/03 HTML / CSS
Europcar意大利:汽车租赁
2019/07/07 全球购物
运动会广播稿300字
2014/01/10 职场文书
大学生开西餐厅创业计划书
2014/02/01 职场文书
可贵的沉默教学反思
2014/02/06 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
2014年会计工作总结
2014/11/27 职场文书