gpt4 book ai didi

python - Python中的相似颜色检测

转载 作者:行者123 更新时间:2023-11-28 22:26:54 24 4
gpt4 key购买 nike

给定一个 RGB 或 Hex 颜色,我如何找到与其相似的颜色?我所说的相似是指它们应该可以通过较小的值来区分。

最佳答案

RGB 颜色空间依赖于设备并且在感知上不统一。如果您打算测量颜色相似性,您应该首先将 RGB 值转换为与设备无关且感知上更均匀的颜色空间,例如 CIELAB .然后你可以通过适当的相似性度量来测量颜色差异,比如 Lab Delta E .

演示

考虑 this image :

original image

假设您的引用颜色是绿色阴影和洋红色阴影,其 RGB 值例如是 [0, 160, 0][120, 0, 140]。以下代码段识别了那些相对于引用颜色的 Delta E 低于特定阈值(分别为 1520)的图像像素。

import numpy as np
from skimage import io
from skimage.color import rgb2lab, deltaE_cie76

rgb = io.imread('/image/npnrv.png')
lab = rgb2lab(rgb)

green = [0, 160, 0]
magenta = [120, 0, 140]

threshold_green = 15
threshold_magenta = 20

green_3d = np.uint8(np.asarray([[green]]))
magenta_3d = np.uint8(np.asarray([[magenta]]))

dE_green = deltaE_cie76(rgb2lab(green_3d), lab)
dE_magenta = deltaE_cie76(rgb2lab(magenta_3d), lab)

rgb[dE_green < threshold_green] = green_3d
rgb[dE_magenta < threshold_magenta] = magenta_3d
io.imshow(rgb)

similar colors detected

关于python - Python中的相似颜色检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44428315/

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