P b*_*sak 6 java graphics image image-processing normalization
我想在许多光照条件下获得图像的RGB值.为了获得某种中立的场景,我想用一些预定义图像的RGB值来标准化RGB值.
让我解释.我有6个预定义的图像,我知道它们的确切平均RGB值.现在我将在不同的光照条件下拍摄未知图像.我还将在相同条件下拍摄预定义的6张图像.现在我的目标是通过将预定义图像的已知参考rgb值与从摄像机图像计算的值进行比较来定义归一化公式.使用此归一化参数,我将校准未知图像的RGB值.因此,无论光照条件如何,我都能以中性方式从未知图像中获得平均RGB值.
如何在Java中轻松实现这一目标.
对于不同的照明情况,只需进行线性 RGB 校正即可。只需将每个 R、G、B 值乘以为每个通道导出的常数即可。
如果只有一种参考颜色,那就很容易 - 乘以参考颜色,然后除以捕获的颜色。例如,如果您的参考颜色是 (240,200,120),但您的图像测量值是 (250,190,150) - 您可以将红色乘以 240/250,将绿色乘以 200/190,将蓝色乘以 120/150。对图像中的每个像素使用相同的常数。
如果要匹配多种颜色,您必须对校正因子进行平均才能得到一组常数。需要对更亮的颜色给予更大的权重,例如,如果您有一个参考值 (200,150,20) 并且它测量到 (190,140,10),您将尝试将蓝色的量加倍,这可能非常遥远。最简单的方法是将所有参考值相加,然后除以测量值的总和。
| 归档时间: |
|
| 查看次数: |
5667 次 |
| 最近记录: |