Labelme标签信息可显示方法-通过修改源文件

为啥改:

        在使用labelme打标签的任务中,老师要求要为每个框选的辣椒都加上关键点,且关键点都需要与所在的辣椒标签处于同一个group_id。后面打完后想要检查每个关键点是否标注正确,回头一看...我测?这个点的信息是什么,右边找一下,这又是啥,右边找一下...太麻烦了。且labelme本身不支持标签显示, 原labelme标注如下。

修改前的labelme显示
标题修改后的labelme显示

        数据那么多张怎么可能一个一个信息查过去,除非保证标注时不出错(怎么可能)。一气之下就气了一下(bushi,这么不便利怎么行,就去labelme的库源码里面将他的画框事件加点料, 修改后的显示画面如上:

         这下舒服多了, 一眼就看出了这个框或者关键点代表着啥,在每个标签上都显示该标签的,名称(group_id)[description],且为了防止标签过多反而会让画面杂乱,添加了ctrl+t去切换其是否显示。那这么便捷的labelme该如何修改来,快快端上来。

怎么改:

        啊,首先,要明白,我们是修改他的库源码,所以要找到labelme的库位置,搁哪呢?

python环境使用pip安装库后,无论使用的是conda大环境还是虚拟环境,其python目录下都有安装的库包,其在 \Lib\site-packages例如若在conda大环境下安装labelme: 

该目录下有所有安装的库源码,包括我们要修改的labelme源码也会在这里面。

        步骤一: 进入到环境根目录底下的Lib\site-packages, 去找叫labelme的文件夹

        我这用虚拟环境做例子,虚拟环境要先进 conda/envs/{下载labelme的虚拟环境}  虚拟环境不会的拱出去学

        找到该文件夹后(若没有该文件夹,确保所在的环境下有安装labelme库),使用pip show labelme 查看信息与版本,后面找相应的代码替换。

        步骤二:进入该文件夹按须替换的文件位置
        labelme替换文件  提取码: hcat

        我这提供三个文件:

        -- __main__.py (添加了打开自动最大化)

        -- app.py 

        -- widgets

                -- canvas.py - (可自调字体大小和样式显示)

                -- label_list_widget.py

       app.py:

        a). 将右侧的多标签显示栏位也修改为也可以查看description([]括号内):

        b). 搭配canvas.py在左上角显示当前是第几张

        widgets/ canvas.py(*):

        a).用比原色稍亮的字体在框选的标签左上显示标签详细信息 名称(group_id)[description], 若是多边形标签为第一个按下的点的上面。

按下ctrl+T可切换是否显示该标签信息,原T快捷是labelme自带的标签切换查看。

        widgets/ label_list_widget.py:

        a). 将右侧的多边形标签的显示列表,让其按group_id进行排列展示,而不是按创建时间。

 以上是该三个文件各自的功能,各自按需替换,在我提供的代码中,我修改处都会使用# Heart-Cat备注包住(如下),若有bug可观察其代码,进行修改,由于这只是标签工具没花很多时间去调试,目前功能是够基础使用。

不过要注意, 要使用pip show labelme 获取labelme版本。

labelme在更新后对源码进行了修改来, 将旧版的qtpy改成了PyQt5, 所以最好只是替换代码,我花了点时间将这两个版本的更换文件都做出来了, 只需要替换即可。

   步骤三:

        不同电脑的默认字体大小不一致, 有些会显得非常小,该字体大小可在canvas.py文件下做更改,好像很多电脑需要设置为25才差不多,位置如下。

附加-快捷键修改:

        labelme安装好后, 它会在C盘用户目录下创建配置文件(如下):

        使用文本编译器打开,这些配置有兴趣的可自行修改。往下翻可找到创建标签的快捷键,可按照自己的习惯进行修改。

到此差不多就结束了, 若替换的源码存在bug可在编译器ctrl+F搜索跟着我使用# Heart-Cat包裹的代码自行更改哦,或者在此评论。 我有在对应的源码修改上注释该部分的作用, 祝各位打标签打的顺利, 打! 给我狠狠的打!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值