【跑实验01】TypeError: ‘function‘ object is not subscriptable

2023-11-05

在运行实验的过程中,遇到了一个问题:

Traceback (most recent call last):
  File "get_cropped_val_images.py", line 86, in <module>
    gt_bboxes = get_gt_bboxes[str(image_names[i].replace('jpg', 'xml'))]
TypeError: 'function' object is not subscriptable

在这里插入图片描述

根据错误信息,您正在尝试对函数get_gt_bboxes进行索引操作[str(image_names[i].replace(‘jpg’, ‘xml’))],这是不允许的,因为函数是不可索引的对象。

报错的代码片段为:

 image_names = []
	    for name in os.listdir('val/'):
	        image_names.append(name)
	
	    gt_all_bboxes = get_gt_bboxes()
	
	    output_folder = 'output/'
	    interval = 100
 for i in range(len(image_names)):
        image_path = os.path.join('val/', image_names[i])
        image = cv2.imread(image_path)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        masks = mask_generator.generate(image)
        bbox_list = extract_bboxes(masks)
        gt_bboxes = get_gt_bboxes[str(image_names[i].replace('jpg', 'xml'))]

根据错误信息,您正在尝试对函数get_gt_bboxes进行索引操作[str(image_names[i].replace(‘jpg’, ‘xml’))],这是不允许的,因为函数是不可索引的对象。

可能的原因是您意图调用get_gt_bboxes函数并将其结果存储在gt_all_bboxes中,但是在代码中我们看不到get_gt_bboxes函数的定义或相关实现。

请确保在代码中包含了正确的get_gt_bboxes函数的定义,并将其结果存储在gt_all_bboxes中,然后在后续代码中使用gt_all_bboxes来获取边界框。

把代码改进后:

    image_names = []
    for name in os.listdir('val/'):
        image_names.append(name)

    gt_all_bboxes = get_gt_bboxes()

    output_folder = 'output/'
    interval = 100
    for i in range(len(image_names)):
        image_path = os.path.join('val/', image_names[i])
        image = cv2.imread(image_path)
        image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
        masks = mask_generator.generate(image)
        bbox_list = extract_bboxes(masks)
        gt_bboxes = gt_all_bboxes[str(image_names[i].replace('jpg', 'xml'))]
        
        selected_bboxes = []
        for bbox_gt in gt_bboxes:
            for bbox_pred in bbox_list:
                if is_bbox_inside(bbox_gt, bbox_pred):
                    selected_bboxes.append(bbox_pred)
                    break

在这里插入图片描述

可以运行结果!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【跑实验01】TypeError: ‘function‘ object is not subscriptable 的相关文章

  • gcc -Wall详解

    当GCC在编译过程中检查出错误的话 它就会中止编译 但检测到警告时却能继续编译生成可执行程序 因为警告只是针对程序结构的诊断信息 它不能说明程序一定有错误 而是存在风险 或者可能存在错误 虽然GCC提供了非常丰富的警告 但前提是你已经启用了

随机推荐

  • j2ee_XML建模

    1 什么叫XML建模 将XML配置文件中的元素 属性 文本信息转换成对象的过程叫做XML建模 XML建模 1 根据XML配置文件元素节点创建元素节点实体类 ConfigModel ActionModel ForwardModel 2 利用d
  • ifconfig、ip addr、ip route用法总结

    最近使用haproxy keepalived 负载均衡 发现虚拟IP有问题 配置文件里配的VIP是 4 143 但是执行 ip a 发现还有一个虚拟IP 4 134 应该是以前配置文件keepalived conf里设置过VIP 4 134
  • 做大模型时代的应用层创业!

    Datawhale创业 方向 大模型 合作伙伴 Datawhale 亲爱的科技探险家们和代码魔法师们 未来的钟声已经敲响 预示着一场极度炫酷的虚拟现实游戏即将展开 从初期简单的智能识别 到设计师级别的图纸设计 生成式AI技术 Generat
  • python写路径时候的问题————转载ningqingzy的文章

    作为笔记总结学习 如有侵权 立马删除 总结有三种方法 更换为绝对路径的写法 func1 C Users renyc 显式声明字符串不用转义 加r func1 r C Users renyc 使用Linux的路径 func1 C Users
  • 数仓 - hive ,身份证和手机号 匹配 - 正则方式

    数仓 hive 身份证和手机号 匹配 正则方式 身份证 内容校验 身份证号字段 regexp 1 9 0 9 14 1 9 0 9 16 0 9xX 长度校验 and length trim 身份证号字段 15 or length trim
  • MyBatis特殊SQL的执行(模糊查询、批量删除、动态设置表名、添加功能获取自增的主键)

    一 模糊查询 1 1 like xxx 的方式模糊查询 根据用户名进行模糊查询 param username return java util List
  • activiti 6.x 多实例加签(如有不足留言指出)

    最近刚接触activiti 用的6 x 网上资料太少 断点追流程看属性写了个加签的操作 目前测试的没啥问题 如有问题 请留言指教 上代码 完事之后三个表查查有没有新增数据 有就成了 多实例的才能复制 调用之前最好先判断下 protected
  • 7个程序员常用的接单平台推荐

    推荐7个程序员常用的接单平台 不管做兼职 副业 还是全职自由职业 都可能会用到下面几个网站 特别推荐第一个 飞援 地址链接 前端开发外包 小程序开发兼职 程序员兼职平台 飞援 程序员远程灵活用工平台 聚集了高质量的兼职和全职自由职业开发者
  • sklearn学习笔记

    1 波士顿房价线性回归模型 from sklearn import datasets from sklearn linear model import LinearRegression boston datasets load boston
  • 语法基础——Objective-C语法基础

    前言 学习过Swift之后 好久没用已经生疏了 现在有项目来了 不得不停下手下的工作 开始学习OC 当然这篇文章会以Java基础和C基础作为支撑 这样学习起来入门很简单 可能这篇文章有点个人主义 用作个人笔记吧 OC特点 支持C语法 支持面
  • java中将url下载并转换为MultipartFile文件

    url转换MultipartFile用于图片持久化 需要在对应的网络下才能使用 url转MultipartFile url 图片URL fileName 文件名 return 返回的文件 public static MultipartFil
  • chmod 用法示例

    介绍 Linux中的Chmod命令用于更改或分配文件和目录的权限 在Linux Unix系统中 文件和目录的可访问性是由文件所有权和权限决定的 在上一篇文章中 我们了解了如何使用chown命令管理文件和目录的所有权 在本教程中 我们将介绍c
  • There is no item category assigned to account xxxxxxx

    做GOODS ISSUE的时候遇到这么一个问题 报出一个错误There is no item category assigned to account xxxxxxx 暂时也不知道原因 后来到 Financial Accounting Gl
  • React面试题

    目录 1 什么是虚拟DOM 2 类组件和函数组件之间的区别是什么 3 什么是React 4 说说 Real DOM 和 Virtual DOM 的区别 优缺点 5 在react中如何处理事件 6 class组件和函数组件区别 7 state
  • python之for循环使用(奇数和、偶数和、最大公因数和最小公倍数、用户登陆系统)

    需要知道 有关range gt gt gt range 5 0 1 2 3 4 gt gt gt range 7 0 1 2 3 4 5 6 gt gt gt range 1 7 1 2 3 4 5 6 gt gt gt range 2 7
  • 3DMAX初学者使用软件之前必须设置的参数,你看过了吗?

    刚开始学习3dmax感觉非常的迷茫 软件的安装 软件的基本设置 让刚接触的同学们痛苦不已 那么今天我们来分享一下新手下载完3dmax之后需要进行的基本设置 看好了哦 不要眨眼 你也可以轻松掌握 1 切换语言 单击开始菜单 选择所有程序 找到
  • 机器学习实战之SVD

    1 奇异值分解 SVD singular value decomposition 1 1 SVD评价 优点 简化数据 去除噪声和冗余信息 提高算法的结果 缺点 数据的转换可能难以理解 1 2 SVD应用 1 隐性语义索引 latent se
  • lisp 左手钢筋_LISP命令汇总

    1 本程序用于写钢筋直径 gj 1 测量长度 l m 2 测量多个长度之和 adlm 3 标注一个图元的分段长度 dd 4 标注一个图元的总长度 tj 5 标注多个图元的总长度 td 6 标注多个图元的分段长度和总长度 sd 7 本程序用于
  • 【Pandas 入门-4】时间序列数据处理与数据清洗

    文章目录 时间序列数据处理 to datetime 与 dt strftime 数据聚合函数 resample 数据清洗 数据替换 replace fillna 重复值处理 drop duplicates 缺失值处理 drop na 重命名
  • 【跑实验01】TypeError: ‘function‘ object is not subscriptable

    在运行实验的过程中 遇到了一个问题 Traceback most recent call last File get cropped val images py line 86 in