颜色测量算法的改进建议

时间:2017-07-21 18:08:10

标签: java opencv image-processing colors

我正在研究一个图像处理项目一段时间,其中包括一种通过颜色测量和分类生产线中某些类型的糖的方法。到目前为止,我最关心的是搜索并实施适当的数学技术来计算两种颜色之间的距离(参考颜色和被分析的颜色),然后,将此值转化为更有意义的值,作为行业标准衡量标准。

由此,我试图弄清楚如果摄像机捕获的帧可能包含糖中的噪音或污垢(很可能几乎是黑点),我应该如何可靠地从图像中提取平均颜色值。

语言:使用OpenCV库的Java。

当前解决方案:在获取平均图像值之前,我正在应用OpenCV提供的 fastNlMeansDenoisingColored 函数。它会删除一些白点,代价是更明确的细节。无法删除黑点(未在下图中显示)。

Image Sample before denoising function.

Image Sample after denoising function.

从那里,我使用 org.opencv.core.Core.mean 函数独立地为每个通道计算数组元素的平均值,这样我就可以有一个标量值用在我的计算中。

我尝试使用某种图像阈值滤镜来摆脱黑白点,然后用掩模计算均值,它也有用。此外,我试图找到任何可以返回标量值的加权平均函数,但没有成功。

我不知道如果这些应用程序具有足够强大的预处理技术,平均值可以轻松变化。我是以正确的方式吗?你会建议一个更好的方法来获得代表我糖的颜色的可靠价值吗?

0 个答案:

没有答案