gpt4 book ai didi

c# - 将图像中的每个像素设置为颜色列表中最接近的匹配项

转载 作者:行者123 更新时间:2023-11-30 12:15:09 25 4
gpt4 key购买 nike

如何在 C# 中将图像中每个像素的颜色设置为 RGB 格式(无 alpha)颜色列表中最接近的颜色匹配,可以是任意长度?

它基本上是在创建一个自定义的 BitmapPalette,但由于您不能那样做(相信我,为此我已经尝试了所有可能的方法),我需要一个替代方案。

有谁知道这样做的方法吗?

最佳答案

男孩...我希望你喜欢你的数学...

这是一个棘手的问题。要确定两种颜色之间的“匹配度”,您首先必须了解您正在使用的颜色空间/颜色模型。 RGB 颜色模型(不包括 alpha channel )本质上是欧几里德模型:每种颜色映射到 3D 空间中的一个点。因此,两种颜色 C1 和 C2 之间的假定距离是

Distance = SQRT( (C1red - C2red)2 +  (C1green - C2green)2 +  (C1blue - C2blue)2 )

WRT “正常”的人类视觉感知,这不一定是正确的。考虑到这一点变得更加复杂。

尝试将这两篇论文作为起点:

颜色常见问题解答还提供了许多links to other colorspace resource

更多链接在 http://www.golden-gryphon.com/software/misc/color-links.html

这里有一篇关于颜色差异的论文可能也有帮助:http://www.axiphos.com/Reports/ColorDifferences.pdf

Bruce Lindbloom's web site还有很多东西,包括一个色差计算器,它在 CIE 颜色空间中工作(它提供了距离计算)。

关于c# - 将图像中的每个像素设置为颜色列表中最接近的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8187046/

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