Для изображения rgb:
# Random RGB
rgb = np.random.randint(255, size=(900,800,3),dtype=np.uint8)
cv2.imshow('RGB',rgb)
Чтобы изменить цвет маркера в matlibplot, необходим двумерный массив, в котором строки RGB.
Мой вопрос: какможно изменить форму массива 3D RGB, чтобы изменить цвет маркера на точечной диаграмме?
# 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, rgb)
plt.xlabel('a')
plt.ylabel('b')
plt.colorbar()
plt.show()
Я получаю следующее сообщение об ошибке:
ValueError: аргумент 'c' имеет 1200элементы, которые неприемлемы для использования с 'x' с размером 1920000, 'y' с размером 1920000.