Как исправить ошибку логического объекта в python? - PullRequest
0 голосов
/ 29 апреля 2020

Ошибка, которую я получаю при запуске программы для Окончание настройки обнаружения объекта ..

File "<ipython-input-113-72bac7bde4d7>", line 41, in __getitem__
    pos = np.where(masks[i])

TypeError: 'bool' object is not subscriptable

Здесь возникает проблема, где маска содержит значения координат изображения .. .

        for i in range(num_objs):
            pos = np.where(masks[i])
            xmin = np.min(pos[1])
            xmax = np.max(pos[1])
            ymin = np.min(pos[0])
            ymax = np.max(pos[0])
            boxes.append([xmin, ymin, xmax, ymax])

Я не знаю, как устранить эту ошибку

1 Ответ

0 голосов
/ 29 апреля 2020

Пожалуйста, сделайте:

print(type(num_objs))
for i in range(num_objs):
    print(type(masks), type(pos))
    pos = np.where(masks[i])
    xmin = np.min(pos[1])
    xmax = np.max(pos[1])
    ymin = np.min(pos[0])
    ymax = np.max(pos[0])
    boxes.append([xmin, ymin, xmax, ymax])

Эта ошибка возникает из-за того, что некоторые логические переменные являются массивом. Возможно для инициализации или доступа к переменным с помощью [index].

...