gpt4 book ai didi

opencv - 有没有办法将颜色表示为单个值?

转载 作者:太空宇宙 更新时间:2023-11-03 22:36:23 27 4
gpt4 key购买 nike

所以我得到了这堆图像(大约 1000 张),并且我使用 CV2 和 Python 找到了每张图像中的主要颜色。因为它是 OpenCV,所以我可以获得各种格式的颜色,RGB、HSV 等。

我想知道的(不是计算机视觉或数学高手)是否有一种方法可以将主要颜色存储为某种单一值 - 用于搜索和排序。

我知道有一个公式使用 HSV 来计算一种颜色和另一种颜色之间的“距离”,但对于一个真正愚蠢的小程序来说,这是大量的数学运算。

有单值吗?还是它“只是行不通”?

谢谢。

最佳答案

使用 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

关于opencv - 有没有办法将颜色表示为单个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58067892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com