解决AttributeError: module ‘labelme.utils‘ has no attribute ‘draw_label‘

在尝试使用labelme的json_to_dataset方法时遇到了AttributeError,问题源于'labelme.utils'模块缺少'draw_label'属性。解决方案是检查labelme的安装路径,确认utils文件夹下是否有draw.py文件。如果缺失,将draw.py的代码添加到utils文件夹,并在_init_.py中引入,从而成功解决该bug。
摘要由CSDN通过智能技术生成

根据https://www.vvzixun.com/code/9341228137260fff2383007df8b6e027的内容解决了我的这个问题

实现labelme批量json_to_dataset方法中:
AttributeError: module ‘labelme.utils’ has no attribute 'draw_label’出现了这个问题。

由于labelme.utils中没有draw_label这个模块:

lbl_viz = utils.draw_label(lbl, img, captions)

如果出现AttributeError: module ‘labelme.utils’ has no attribute 'draw_label’这个错误,原因应该在于import中没有导入进来这个模块,所以,需要找到labelme.utils

我的安装路径:D:\TF\anaconda\Lib\site-packages\labelme

在这个安装路径下,在labelme文件夹下,有一个utils文件夹

在这里插入图片描述

刚开始发现里面没有draw.py文件,所以导致我刚开始draw_label导入不进来。

找到将draw.py全部代码贴出来:

import io

import numpy as np
import PIL.Image
import PIL.ImageDraw


def label_colormap(N=256):
    def bitget(byteval, idx):
        return (byteval & (1 << idx)) != 0

    cmap = np.zeros((N, 3))
    for i in range(0, N):
        id = i
        r, g, b = 0, 0, 0
        for j in range(0, 8):
            r = np.bitwise_or(r, (bitget(id, 0) << 7 - j)
  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值