Мой код в настоящее время состоит из загрузки изображения, что успешно, и я не думаю, что имеет какое-либо отношение к проблеме.
Затем я преобразую цветное изображение в массив np.ar с именем rgb
.
# convert image into array
rgb = np.array(img)
red = rgb[:,:,0]
green = rgb[:,:,1]
blue = rgb[:,:,2]
Чтобы дважды проверить мое понимание этого массива, в случае, если это может быть корнем проблемы, это массив такой, что rgb [x-координата, y-координата, цветная полоса], который содержит значение в диапазоне 0-255 красного, зеленого или синего цвета.
Затем моя идея состояла в том, чтобы создать вложенный цикл for для прохождения всех пикселей моего изображения (620px, 400px) и отсортировать их по соотношению зеленого, синего и красного в попытке выделить зеленые пиксели и установить все остальные черным или 0.
for i in range(xsize):
for j in range(ysize):
color = rgb[i,j] <-- Index error occurs here
if(color[0] > 128):
if(color[1] < 128):
if(color[2] > 128):
rgb[i,j] = [0,0,0]
Ошибка, которую я получаю при попытке запуска, выглядит следующим образом:
IndexError: индекс 400 выходит за пределы оси 0 с размером 400
Я подумал, что это может иметь какое-то отношение к границам, которые я давал i и j, поэтому я попытался отсортировать только небольшую внутреннюю часть изображения, но все равно получил ту же ошибку. На данный момент я заблудился относительно того, что является даже корнем ошибки, не говоря уже о решении.