我做了一个化学测试,根据样品中给定化学物质的含量来确定颜色。如果没有化学物质,它是绿色的,如果有化学物质的饱和量,它是黄色的。我用相机拍了几个样品的照片,还画了一条标准曲线,在曲线上我加入了已知量的化学物质,并对结果进行了拍照,将我的样品的颜色与这些标准进行比较。你知道吗
我想做的是,开发一个算法,创建一个双色阶。一种颜色是没有任何化学物质的测试(绿色),另一种颜色是化学物质饱和的测试(黄色)。然后当我输入一个样本颜色时,算法会给我一个%黄色的输出。你知道吗
我见过有人试图在不同的颜色之间创建渐变,但从未读到有人试图将颜色放置在渐变上。你知道吗
我已经能够获得所有示例的RGB颜色值,因此actaul算法与任何编程语言都是相当独立的(尽管我熟悉C、C#、VBA和python)。你知道吗
有人能给我指一个资源来做我想做的事吗?你知道吗
谢谢你
迈克尔
创建表/函数
RGB = f(concentration)
这与你想做的恰恰相反。其思想是将一些连续的标量变量(
concentration
)转换成RGB颜色(具有某些物理意义)。以下是我的一些例子:摄像机校准
正如马克·兰森所说,这一步是必要的。我会尝试在视图区域放置一些标记来帮助实现这一点。例如:
现在选择角点标记中的颜色,计算它们与标记真实颜色的匹配程度,并对整个图像进行双线性插值。如果你需要双立方(更好的结果),那么使用16个标记。这个过程非常类似于:
您将需要试验使用什么标记(仅黑白,或仅绿色和黄色,或黑色和红色和绿色和蓝色或组合…),这样您的结果将在不同的光照条件下保持相同。此外,你还必须使用标记再次创建#1的依赖关系快照,因为没有它们,结果可能会出错。。。你知道吗
校准步骤可以避免只有当你的相机是预先校准,指示器总是相同的颜色,材料,粗糙度,光泽,。。。图像是在均匀恒定的光照条件下拍摄的(在某些盒子内,相同的灯泡,相同的曝光,相同的瞳孔…),没有任何阴影,斑点等。。。像这样的设置是非常昂贵的。低成本手持设备约为10000美元(通常用于制造过程中的颜色检测/测试,以校准机器)。
转换
concentration = f(RGB)
如果#1中的依赖关系是某种简单函数,则可以用代数方法求逆并直接使用它。如果您按照链接的QA构建RGB图,您将看到使用哪个通道作为输入(有时您只需要一个通道)。你知道吗
如果依赖关系太复杂或不是函数,则可以使用:
如果依赖关系是严格的非递增的或非递减的,您也可以使用二进制搜索进行此操作。
相关问题 更多 >
编程相关推荐