为了账号安全,请及时绑定邮箱和手机立即绑定

类型错误:python 中需要一个整数(得到类型 str)

类型错误:python 中需要一个整数(得到类型 str)

哈士奇WWW 2021-08-14 21:16:39
我正在 Python 中使用 OpenCV ArUco。我正在尝试生成不同目录的多个代码。为了一次性生成它,我在循环中使用这个函数。例如 list1 =[1,2,3,4],comb = [50,100,250,1000],ids = [1,22,3,45]def generator(bsize,comb,ids):    bitsize = [bsize]+['X']+[bsize]    bitz = ''.join(bitsize)    dicts = ['DICT']+[bitz]+[comb]    dictionary = '_'.join(dicts)    print(dictionary)    path = ['aruco']+[dictionary]    print(path)    path = '.'.join(path)    print(path)    aruco_dict = aruco.Dictionary_get(path)    img = aruco.drawMarker(aruco_dict, ids, bsize)    cv2.imshow('frame',img)for i in range(0,7):    generator(list1[i],list2[i],list3[i])“路径”的输出是:aruco.DICT_4X4_1000之后我收到错误:line 35, in generatoraruco_dict = aruco.Dictionary_get(path)TypeError: an integer is required (got type str)我该如何解决这个错误。请帮忙
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

"aruco.DICT_4X4_1000", 一个字符串, 不同于aruco.DICT_4X4_1000, 中的一个属性aruco。


如果要以编程方式访问aruco属性的值DICT_4X4_1000,可以使用:


getattr(aruco, "DICT_4X4_1000")

所以你的获取代码path应该是:


...

path = getattr(aruco, dictionary)

...


查看完整回答
反对 回复 2021-08-14
  • 2 回答
  • 0 关注
  • 258 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信