在两种颜色上得到颜色的定量值

2024-05-16 10:54:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个化学测试,根据样品中给定化学物质的含量来确定颜色。如果没有化学物质,它是绿色的,如果有化学物质的饱和量,它是黄色的。我用相机拍了几个样品的照片,还画了一条标准曲线,在曲线上我加入了已知量的化学物质,并对结果进行了拍照,将我的样品的颜色与这些标准进行比较。你知道吗

我想做的是,开发一个算法,创建一个双色阶。一种颜色是没有任何化学物质的测试(绿色),另一种颜色是化学物质饱和的测试(黄色)。然后当我输入一个样本颜色时,算法会给我一个%黄色的输出。你知道吗

我见过有人试图在不同的颜色之间创建渐变,但从未读到有人试图将颜色放置在渐变上。你知道吗

我已经能够获得所有示例的RGB颜色值,因此actaul算法与任何编程语言都是相当独立的(尽管我熟悉C、C#、VBA和python)。你知道吗

有人能给我指一个资源来做我想做的事吗?你知道吗

谢谢你

迈克尔


Tags: 算法示例标准颜色样品曲线照片样本
1条回答
网友
1楼 · 发布于 2024-05-16 10:54:39
  1. 创建表/函数RGB = f(concentration)

    这与你想做的恰恰相反。其思想是将一些连续的标量变量(concentration)转换成RGB颜色(具有某些物理意义)。以下是我的一些例子:

  2. 摄像机校准

    正如马克·兰森所说,这一步是必要的。我会尝试在视图区域放置一些标记来帮助实现这一点。例如:

    markers

    现在选择角点标记中的颜色,计算它们与标记真实颜色的匹配程度,并对整个图像进行双线性插值。如果你需要双立方(更好的结果),那么使用16个标记。这个过程非常类似于:

    您将需要试验使用什么标记(仅黑白,或仅绿色和黄色,或黑色和红色和绿色和蓝色或组合…),这样您的结果将在不同的光照条件下保持相同。此外,你还必须使用标记再次创建#1的依赖关系快照,因为没有它们,结果可能会出错。。。你知道吗

    校准步骤可以避免只有当你的相机是预先校准,指示器总是相同的颜色,材料,粗糙度,光泽,。。。图像是在均匀恒定的光照条件下拍摄的(在某些盒子内,相同的灯泡,相同的曝光,相同的瞳孔…),没有任何阴影,斑点等。。。像这样的设置是非常昂贵的。低成本手持设备约为10000美元(通常用于制造过程中的颜色检测/测试,以校准机器)。

  3. 转换concentration = f(RGB)

    如果#1中的依赖关系是某种简单函数,则可以用代数方法求逆并直接使用它。如果您按照链接的QA构建RGB图,您将看到使用哪个通道作为输入(有时您只需要一个通道)。你知道吗

    如果依赖关系太复杂或不是函数,则可以使用:

    如果依赖关系是严格的非递增的非递减的,您也可以使用二进制搜索进行此操作。

相关问题 更多 >