2016-03-02 69 views
-1

我已经运行化学测试,根据样品中给定化学物的量有多少产生颜色。如果没有化学物质是绿色的,如果化学物质的量是饱和的,则是黄色的。我使用相机拍摄了多个样品,并开发了一条标准曲线,在此处添加已知量的化学物质,并对结果进行拍照,以比较样品结果的颜色与这些标准。在双色标上获取颜色的定量值

我想要做的是开发一个算法,创建一个双色比例。一种颜色是没有任何化学品(绿色)的测试,另一种颜色是化学品(黄色)饱和的测试。然后,当我输入样本颜色时,该算法会给我一个%黄色输出。

我曾见过人们尝试在颜色之间创建渐变,但从未读过尝试将颜色置于该渐变上的人。

我已经能够获得我所有样本的RGB颜色值,所以actaul算法相当独立于任何编程语言(虽然我熟悉C,C#,VBA和python)。

有人能指点我的资源做我想做的事吗?

谢谢

迈克尔

+1

请注意,相机校准将成为一个真正的问题。由于照明改变,即使是相同的相机也会改变其响应。 –

+0

添加样本图像和浓度,以便我们可以看到依赖... – Spektre

回答

2
  1. 创建表/功能RGB = f(concentration)

    这是你想要做的正好相反。这个想法是将一些连续的标量变量(concentration)转换为RGB颜色(具有一些物理意义)。这里是一些对我的这个例子:

  2. 摄像机标定

    正如马克赎金认为这一步是必要的。我会尝试在视图区域放置一些标记以帮助完成此操作。例如像:

    markers

    现在选择的颜色在角落里的标记,计算他们是如何匹配不同的你真正的标志颜色和插值整个图像双线性-LY。如果你需要双立方(好得多的结果),那么使用16个标记。这个过程很类似:

    你需要尝试使用什么标记(只是黑色&白色,或只是绿色&黄色或黑色&红&绿色&蓝色或组合...),所以你的结果将在不同的光照条件下保持不变。你也需要让依赖投篮,你会用彩笔因为没有他们再次立足于#1你可以在结果中出现错误......可避免

    校准步骤只如果你的相机是预校准,该指标总是具有相同的颜色,材料,粗糙度,光泽度......并且图像以均匀恒定的照明条件(在一些盒子,相同的灯泡,相同的展示,相同的瞳孔内)拍摄,没有任何阴影, etc ...像这样的设置是非常昂贵。低成本手持设备大约在$ 10000 USD(通常用于制造中的颜色检测/测试以校准机器)。

  3. 转换concentration = f(RGB)

    如果#1依赖某种简单的功能,那么你可以做它的反代数和直接使用它。如果您在连接的QA中构建RGB图表,您将会看到将使用哪个通道作为输入(有时您只需要一个通道)。

    如果依赖过于复杂或没有的功能,那么你可以使用:

    如果依赖关系严格为不增加非递减您也可以使用二进制搜索为此。

+0

我将不得不花一点时间玩这个。我怀疑这样的工具已经存在 - 无论是python库还是ImageJ脚本。我想我将不得不建立我自己的工具。 –