Вы воссоздаете списки R / G / B для каждого пикселя, поэтому они будут содержать только одну запись.
Попробуйте
import numpy as np
import cv2
from imageio import imread
imgcolor = imread("/home/PATH/bougieHaut3.jpg")
rows, cols, rgb = imgcolor.shape
R = []
G = []
B = []
for i in range(rows):
for j in range(cols):
B.append(imgcolor[i, j, 0])
G.append(imgcolor[i, j, 1])
R.append(imgcolor[i, j, 2])
print(B, G, R)
РЕДАКТИРОВАТЬ : Более быстрый способ сделать это, используя нарезку Numpy, - это
imgcolor = imread("/home/PATH/bougieHaut3.jpg")
B = imgcolor[:,:,0].flatten()
G = imgcolor[:,:,1].flatten()
R = imgcolor[:,:,2].flatten()
без цикла - тогда вы можете использовать list()
для приведения этих массивов Numpy в списки, если вам нужно.