Отобразить cielab (a * b) в 2D графике рассеяния с истинным цветом (RGB) - PullRequest
0 голосов
/ 22 октября 2019

У меня есть 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()

Большое спасибо, ребята.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...