У меня есть RGB-изображение, которое я преобразовал в лабораторное пространство (L a b). Затем я создал двухмерную диаграмму рассеяния для «а» и «б». Теперь я хочу визуализировать точки данных с помощью соответствующего цвета лабораторного пространства. Ниже приведен желаемый график:
Требуемый 2D-график рассеяния
Что я пробовал до сих пор:
# Load libraries
import matplotlib.pyplot as plt
from matplotlib import
from matplotlib import cm
from matplotlib import colors
import cv2
import numpy as np
# Random RGB
rgb = np.random.randint(255, size=(900,800,3),dtype=np.uint8)
cv2.imshow('RGB',rgb)
# Convert to LAB space
lab = cv2.cvtColor(rgb, cv2.COLOR_RGB2LAB)
# Split channels
l, a, b = cv2.split(lab)
# Convert 2D to 1D vector
a1d = a.flat
b1d = b.flat
# Plot 2D scatter plot for 'a' and 'b'
plt.scatter(a, b)
plt.xlabel('a')
plt.ylabel('b')
plt.colorbar()
plt.show()
Большое спасибо, ребята.