Я пытаюсь прочитать файл 'PNG' как массив numpy. Я делаю это с библиотекой cv2, cv2.imread ('image'), которая возвращает массив numpy. Когда я распечатываю его форму, я получаю (6784, 5216, 3), что я на самом деле хочу. Но когда я пытаюсь перебрать массив с массивом [1] или массивом [0], в обоих случаях я получаю 5216 выходных данных. Таким образом, я получаю ошибкуOfBoundIndex. В любом случае я также мог видеть другие пиксели между 5216-м индексом и 6784?
Добавляем код:
path = "/home/y0b8k/Projects/y3-ogam/gt_20/train_2.png"
ar = cv2.imread(path_copy, cv2.IMREAD_UNCHANGED)
Мой l oop раньше был, как вы можете видеть ниже. Он на самом деле читает значения и пытается покрасить новое выходное изображение по моей воле.
x, y = 0, 0
while y < mask.size[1]-1:
while x < mask.size[0]:
value = pix[x,y]
print(x)
if value[0] == 3:
col = [64,173,38,255]
ar[x,y] = col
if value[0] == 5:
#print(ar[x,y])
col = [203,0,0,255]
ar[x,y] = col
if value[0] == 7:
col = [30,50,250,255]
ar[x,y] = col
if value[0] == 4:
col = [100,100,100,255]
ar[x,y] = col
else:
col = [255,255,255,255]
ar[x,y] = col
x += 1
y+=1
x= 0
cv2.imwrite("çıktı.png",ar)