¿Cómo trazar gráficos con los colores de cada píxel en la imagen?

Estoy trabajando en el reconocimiento del color de la imagen, por lo que estoy convirtiendo la imagen RGB en Lab porque es el espacio de color más cercano a la visión humana. Después de eso, obtengo cada uno de los 3 canales del Laboratorio y quiero trazar en el gráfico 3D las variaciones de color que identifiqué en la imagen convertida. ¿Cómo trazo el gráfico con los colores de la imagen?

import cv2
import numpy as np
import urllib
import mpl_toolkits.mplot3d.axes3d as p3
import matplotlib.pyplot as plt

# Load an image that contains all possible colors.
request = urllib.urlopen('IMD021.png')
image_array = np.asarray(bytearray(request.read()), dtype=np.uint8)
image = cv2.imdecode(image_array, cv2.CV_LOAD_IMAGE_COLOR)

lab_image = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)
l_channel,a_channel,b_channel = cv2.split(lab_image)

fig = plt.figure()
ax = p3.Axes3D(fig)
ax.scatter(l_channel, a_channel, b_channel, marker='o',  facecolors=cv2.cvtColor(image, cv2.COLOR_BGR2RGB).reshape(-1,3)/255.)

ax.set_xlabel('L')
ax.set_ylabel('A')
ax.set_zlabel('B')
fig.add_axes(ax)
#plt.savefig('plot-15.png')
plt.show()

Salida:

Respuestas a la pregunta(1)

Su respuesta a la pregunta