如何实现labelImg源码运行

作为python小白,面对这个python写的labelImg 深度学习图像标注工具,想要对其源码进行修改并编译运行,相当折腾,幸好很多前辈的经验综合在一起,最终实现了!现在总结如下:

首先代码的获取和整个执行过程是按照github上的官方说明来的:https://github.com/tzutalin/labelImg

我是在windows下,按照官网中的如下说明做准备

因为之前已经安装了python加pycharm所以并没有安装Anaconda+pycharm,据说后者更方便,因为Anaconda在安装时会把python以后可能会用到的相关工具都安装上,具体见:https://blog.csdn.net/qq_33485434/article/details/80607252

我这里是安装的python3.6.5+pycharm

按官网说的,安装PyQt5, 两种方法:

方法1:https://blog.csdn.net/qq_33485434/article/details/80604786

方法2,打开cmd 输入pip3 install pyqt5 ,等待一会即可完成PyQt4的安装

因为labelImg 源码也依赖pyQt5,并且通过实验,证实了只安装pyqt5即可,如果4,5都安装反而会在pyinstaller打包时出错,折腾了很久,把源码中两处4改成了5,然后只安装pyqt5即可

在执行pip3 install PyQt5安装好pyqt5后 安装sip,安装方式如下:cmd下执行pip3 install sip

至此就剩lxml没有安装了,可以在cmd下 执行pip list(如果安装的是Anaconda+pycharm则执行conda list)可以查看为python安装了哪些扩展工具。

lxml的下载地址https://pypi.org/project/lxml/#files 找到对应自己python的版本下载,但是lxml官网http://lxml.de/installation.html 上说的最简单安装lxml的方式是

所以不用去官网下载,直接在cmd中执行pip install lxml,完成后,可以再一次查看为python安装的扩展工具是否已经包含了sip,lxml, pyQt5,这些都安装完后,进入labelImg中的labelImg.py文件,在对其编译执行时,可能会报no module named xxx比如pyQt5,resourses等。可以按如下步骤操作一遍试试行不行:

打开labelImg.py,pycharm中的file->setting中,找到python解释器,看看该解释器中是否已经包含了pyqt5,lxml,sip这3个,如上图是包含了。如果没有,按下图一一搜索,然后安装:

点击加号,然后一一搜索,找到后点击下面的install package安装好后,解释器中应该就包含了。

如果还是不行,可以参看https://blog.csdn.net/qq_33485434/article/details/80606359 这篇文章的后半部分,解决此问题。

如果运行labelImg.py时出问题(no module pyqt5之类的错误),去pycharm生成的labelImg.py(默认情况下是这个名字的文件夹)文件夹下,把pyvenv.cfg文件中的include-system-site-packages = false改为true,就可以了;

如果改完后又出现no module sip之类的错误,进入cmd用pip3 uninstall sip把其卸载后,再重新安装pip3 install sip应该就可以了

如果要用pyinstaller·对labelImg.py打包发布,那么我的建议是把生成目录定在labelImg.py所在的目录下,或者说在cmd中先定位到labelImg.py路径下,在该路径下执行另一个路径中的pyinstaller.exe进行打包,具体打包指令参看文章

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
autolabelimg工具: 根据输入的待定位图片\rtmp流\capture来完成自动定位,生成xxx_pos.jpg和xxx_pos.xml。 生成的图片和xml定位文件可以被标注工具labelimg解析(兼容)。 如果定位成功,则会弹出标注后的图片。如果失败,则不会弹出图片。 特点: 1. 支持静态图片/rtmp视频流/本机video设备作为输入源。 2. 按扑克游戏类型进行特定标注,标注的顺序号符合游戏解析定位文件的要求。 支持的游戏类型:龙虎,牛牛,百家乐。 3. 支持1280x720与1920x1080分辨率。 源代码列表:autolabel.cpp/.h,labelmain.cpp,tinyxml2.cpp/.h 第三方lib: opencv 程序编译(vs2015/vs2019): 1>------ 已启动生成: 项目: autolabelimg, 配置: Release x64 ------ 1>autolabel.cpp 1>labelmain.cpp 1>tinyxml2.cpp 1>正在生成代码 1>586 of 589 functions (99.5%) were compiled, the rest were copied from previous compilation. 1> 21 functions were new in current compilation 1> 0 functions had inline decision re-evaluated but remain unchanged 1>已完成代码的生成 1>autolabelimg.vcxproj -> D:\wincpp\gitwork\autolabelimg\x64\Release\autolabelimg.exe 1>已完成生成项目“autolabelimg.vcxproj”的操作。 Demo: 两张pocker时生成的定位文件 <annotation> <filename>images\b21(1920x1080)_pos.jpg</filename> <size> <height>1080</height> <width>1920</width> </size> <object> <name>card_1</name> <bndbox> <ymax>864</ymax> <xmax>627</xmax> <ymin>493</ymin> <xmin>213</xmin> </bndbox> </object> <object> <name>card_2</name> <bndbox> <ymax>833</ymax> <xmax>1715</xmax> <ymin>468</ymin> <xmin>1305</xmin> </bndbox> </object> </annotation>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyFish-ty

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值