Конвертировать массив RGB в 2D массив RGB для цвета маркера (Matplotlib) - PullRequest
0 голосов
/ 23 октября 2019

Для изображения 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.

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