TypeError: индексы списка должны быть целыми числами или срезами, а не ошибкой кортежа при обработке изображения.

Sonuc= Kesilmis_Kare.copy() cnts, иерархия = cv2.findContours(Renk_Fılte_Sonucu,cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

Max_Genislik=0
Max_Uzunluk=0
Max_Index=-1

for t in range(len(cnts)):
    cnt=cnts[t]
    x,y,w,h= cv2.boundingRect(cnt)
    if(w>Max_Genislik and h>Max_Uzunluk):
        Max_Uzunluk= h
        Max_Genislik= w
        Max_Index= t,

if(len(cnts)>0):
    x,y,w,h= cv2.boundingRect(cnts[Max_Index])
    cv2.rectangle(Sonuc,(x,y),(x+w,y+h), (0,255,0),2)

Я взял
x,y,w,h= cv2.boundingRect(cnts[Max_Index]) TypeError: индексы списка должны быть целыми числами или срезами, а не кортежем

эта ошибка, вы можете мне помочь, пожалуйста.


person beyza özpınar    schedule 09.11.2020    source источник


Ответы (1)


Max_Index= t,

Эта строка превращает Max_Index в кортеж.

x,y,w,h= cv2.boundingRect(cnts[Max_Index])

В этой строке вы используете Max_Index в качестве индекса списка, но, как говорится в сообщении об ошибке, это может быть только целое число, поэтому вам следует использовать другую переменную.

person Gladius    schedule 09.11.2020