如何通过每种颜色的分数贡献在 n 种颜色之间进行插值?

2024-01-11

我怎样才能在n种颜色之间进行插值。

2种颜色的简单情况

首先考虑一个更简单的情况,我们想要找到两种颜色的中点。

Color1 is RGB ( 255, 0, 0 ) // Red
Color2 is RGB ( 128, 128, 128 ) // Grey

解决方案是单独考虑每个 R、G、B 之间的中点。

RGB ( 128 + 64, 128 / 2, 128 / 2 ) = RGB ( 192, 64, 64 )

由于中点正好位于两者之间,并且与插值存在线性关系,因此可以在 Color1 和 Color2 之间插值一个小数,例如 0.25,颜色应该更接近 Color1。

RGB ( 255 - 32, 32, 32 ) = RGB ( 223, 32, 32 )

n种颜色的情况

我希望找到解决方案的情况是,有 n 种颜色,每种颜色的分数权重总计为 1.0。

(猜测,我猜每种颜色都可以被认为是 3 维空间中的一个点,权重描述了插值点与每个颜色点的相对距离)

颜色插值仅是线性 RGB。

在某些情况下,我猜想可能有多个整数值可以解决问题,例如,如果有 n 种颜色具有相似的值。

我读到双线性插值可能有助于解决这个问题。

通常颜色的数量不会超过5种,通常是2、3或4种颜色。


您的猜测将给出可接受的解决方案(是的,您需要分别对每个维度进行插值)。

问题是,色彩空间可以由多个模型来描述,每个模型具有不同的维数。根据您是否选择 RGB、CMYK、HSL 或任何其他奇异的描述,插值看起来会有所不同 - 并且由于差异主要是美学上的,因此很难用非常技术性的术语来描述。例如,使用 HSL 的插值将始终通过使用颜色环在颜色之间移动。

关于使用不同颜色模型进行计算(及其带来的复杂性)的一些后果的很好的描述可以在 Krita 手册中找到:https://userbase.kde.org/Krita/Manual/ColorManagement https://userbase.kde.org/Krita/Manual/ColorManagement

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过每种颜色的分数贡献在 n 种颜色之间进行插值? 的相关文章

  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 从文件路径显示图像视图?

    我需要仅使用文件名而不是资源 ID 来显示图像 ImageView imgView new ImageView this imgView setBackgroundResource R drawable img1 我在可绘制文件夹中有图像
  • 无论我如何尝试,“netsh wlan startHostednetwork”命令都不起作用

    C Windows system32 gt netsh wlan 显示驱动程序 接口名称 无线网络连接 Driver DW1501 Wireless N WLAN Half Mini Card Vendor Broadcom Provide
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调
  • 错误 1305 (42000):保存点...不存在

    我的 MYSQL 数据库中有这个 SQL 存储过程为空 所以我猜没有隐式提交 DROP PROCEDURE IF EXISTS doOrder DELIMITER CREATE PROCEDURE doOrder IN orderUUID
  • python从二进制文件中读取16字节长的双精度值

    我找到了蟒蛇struct unpack 读取其他程序生成的二进制数据非常方便 问题 如何阅读16 字节长双精度数出二进制文件 以下 C 代码将 1 01 写入二进制文件三次 分别使用 4 字节浮点型 8 字节双精度型和 16 字节长双精度型
  • Rails 未定义“2013-03-06”的方法“strftime”:字符串

    我收到错误 2013 03 06 的未定义方法 strftime 字符串 当尝试使用 strftime 从字符串 2013 03 06 正常显示日期 2013 年 6 月星期日 3 日或类似的日期 时 在我的 index html erb
  • 如何(安全)将 Python 对象发送到我的 Flask API?

    我目前正在尝试构建一个 Flask Web API 它能够在 POST 请求中接收 python 对象 我使用 Python 3 7 1 创建请求 使用 Python 2 7 运行 API 该 API 设置为在我的本地计算机上运行 我试图发
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 如何从地址簿中获取一个人的电话号码?

    我想做的就是让用户从地址簿中选择一个号码 我在这个问题中找到了代码 如何从地址簿联系人获取电话号码 iphone sdk https stackoverflow com questions 286207 how to get a phone
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单
  • 混合本机/托管可执行文件中的最终托管异常处理程序?

    我有一个使用 clr 编译的 MFC 应用程序 并且我正在尝试为未捕获的托管异常实现最终处理程序 对于本机异常 重写CWinApp ProcessWndProcException works 杰夫的书中提到的两个事件代码项目文章 http
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n
  • Android GetPTLAFormat 上的 Phonegap 错误

    我们正在开发一个使用 jQuery 移动和电话间隙的应用程序 一切似乎都工作正常 但是当在连接的 Android 手机上运行应用程序时 我们在 Eclipse logcat 中看到大量类似这样的错误 0 GetPTLAFormat inva
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时
  • Swift:UICollectionViewCell didSelectItemAtIndexPath 更改背景颜色

    我可以轻松更改单元格的背景颜色CellForItemAtIndexPath method func collectionView collectionView UICollectionView cellForItemAtIndexPath
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐