我正在 Python 中使用 OpenCV ArUco。我正在嘗試生成不同目錄的多個代碼。為了一次性生成它,我在循環(huán)中使用這個函數(shù)。例如 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條經(jīng)驗 獲得超16個贊
"aruco.DICT_4X4_1000", 一個字符串, 不同于aruco.DICT_4X4_1000, 中的一個屬性aruco。
如果要以編程方式訪問aruco屬性的值DICT_4X4_1000,可以使用:
getattr(aruco, "DICT_4X4_1000")
所以你的獲取代碼path應該是:
...
path = getattr(aruco, dictionary)
...
添加回答
舉報
0/150
提交
取消