Есть ли способ представить цвет как одно значение? - PullRequest
1 голос
/ 23 сентября 2019

Итак, у меня есть этот стек изображений (около 1000), и я использовал CV2 и Python, чтобы найти преобладающий цвет в каждом.Так как это OpenCV, я могу получить этот цвет во множестве форматов, RGB, HSV и т. Д.

Я пытаюсь выяснить (не будучи компьютерным зрением или математикой), есть ли способхранить этот преобладающий цвет как какое-то одно значение - для поиска и сортировки.

Я знаю, что есть формула, использующая HSV для вычисления «расстояния» между одним цветом и другим, но это большая математика для действительно глупой маленькой программы.

Есть ли какое-то одно значение?Или это «просто так не работает»?

Спасибо.

1 Ответ

1 голос
/ 23 сентября 2019

То, как цвета описываются с использованием OpenCV и другого программного обеспечения для обработки изображений, отличается от способа, которым люди интерпретируют цвет.Большинство людей интерпретируют красный и оранжевый как близкие друг к другу, а красный и синий как удаленные друг от друга.Программы для работы с изображениями описывают цвет с использованием интенсивности, градиента и длины волны.

Когда люди рассматривают цвет, большинство людей думают о цветах с насыщенностью и значениями 255. Чтобы найти расстояние между цветами, вы можете посмотреть на разницумежду значениями HSV.

hues

Это код, который я использовал для создания этого GIF:

import cv2
import numpy as np
h = 0
while True:
    img = np.zeros((200,200,3), np.uint8)
    img[:,:,:] = h, 255, 255
    img = cv2.cvtColor(img, cv2.COLOR_HSV2BGR)
    cv2.imshow('img', img)
    k = cv2.waitKey(1)
    if k == 27: break
    h += 1
    if h == 180: h = 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...