Сделать цветную полосу для данных RGB? - PullRequest
0 голосов
/ 15 апреля 2019

Я получил данные, которые сделаны на основе 3 каналов, которые выделены красным как RGB, это означает, что цветная полоса должна была бы обернуться между всеми 3 цветами, чтобы показать все возможные оттенки. Есть ли простой способ сделать это?

Вот пример. Красный усиливается слева, синий - справа, а зеленый - центрально. (он смотрит на спектральные особенности.) Это означает, что красный + синий (= фиолетовый) будет справа, а центральный усилен и слабым слева. и т.д.

Мне нужен способ показать это правильно с помощью цветовой шкалы.

enter image description here

1 Ответ

0 голосов
/ 15 апреля 2019

Я не уверен, что понял, каков ваш ожидаемый результат. В любом случае, я даю временный ответ, чтобы вы могли со временем указать мне верное направление. Это пример цветовой шкалы с массивами:

enter image description here

Код, который я использовал для генерации, следующий:

import numpy as np
import cv2

# Initialize an empty array that matches opencv ranges for hsv images:
#   hue (cylinder 180°) 0-179 (multiplied by 10 to "stretch" horizontally)
#   saturation is fixed at 254
#   value (0-254)
bar = np.ndarray([255,1800,3], dtype="uint8")
for x in range(1800):
    for y in range(255):
        bar[y,x,0] = int(x/10)
        bar[y,x,1] = 254
        bar[y,x,2] = y
#Convert to BGR (opencv standard instead of rgb)
bgr = cv2.cvtColor(bar, cv2.COLOR_HSV2BGR)
cv2.imshow('Colorbar', bgr)
cv2.waitKey()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...