Я пытаюсь создать список в python из анализа массива Numpy, но создание с моими циклами for не создает весь список. На самом деле у меня есть w=404 и h=481, и я использую функцию диапазона для создания списка:
true_label = []
for i in range(0,w*h):
if np.all(image_array[i] == [0.0, 0.0, 1.0]): # red
true_label.append(0)
if np.all(image_array[i] == [0.0, 1.0, 0.0]): # gree
true_label.append(1)
if np.all(image_array[i] == [1.0, 0.0, 0.0]): # red
true_label.append(2)
Но в конце выполнения мой список имеет 193920 элементов вместо 194324.
Что я делаю неправильно?





Запустите следующее редактирование вашего кода:
true_label = []
for i in range(0,w*h):
if np.all(image_array[i] == [0.0, 0.0, 1.0]): # red
true_label.append(0)
else if np.all(image_array[i] == [0.0, 1.0, 0.0]): # gree
true_label.append(1)
else if np.all(image_array[i] == [1.0, 0.0, 0.0]): # red
true_label.append(2)
else:
true_label.append(3)
Затем посчитайте число «3». Держу пари, что есть 404 "3".
Просто примечание: возможно, вы захотите исправить эти комментарии... два из них не будут оба красными :)