找到与摄像机拍摄的图像最接近的颜色的问题

时间:2018-04-18 03:31:22

标签: c# opencv colors

我有一个项目需要从相机中识别最接近的颜色和拍摄图像的相应位置。但是,现在我面临的问题是什么颜色无法正确识别,任何人都可以指出我的问题是什么?以下是我的项目流程。

  1. 从相机中取出图像作为模板(模板)。模板图像包含各种对象,每个对象包含一个主色,每个对象都是分开的
  2. 根据编号拆分图像。检测到的物体,在每个物体图像中,找到最大值。使用1D直方图的H,S,V通道的位置。

  3. 使用相同的相机拍摄另一个图像(目标),目标图像类似于模板图像,但内部的对象可能有点重叠和/或位置不同

  4. 使用2)中获得的信息,使用3D距离找到最接近的颜色并重建图像(即将每个像素值替换为最接近的颜色)。 如果像素H值远离2)中得到的主导H值15度,则不将该像素与该颜色进行比较。

  5. 在重建目标图像中查找每种颜色的轮廓,找到每个颜色位置。

  6. 现在问题是,当我在步骤4中重建图像时,我发现颜色未正确识别。重建图像中的一些颜色只能在非常小的部分识别,或者像胡椒噪声一样用黑色像素识别(因为如果没有颜色可以识别,即HUE值是+/- 15度的颜色要比较,或者S / V值远离要比较的颜色,该像素将被替换为黑色像素)

    即使我将2个图像与对象,位置和光源相同,一个图像作为模板而另一个图像是目标图像,我发现重建图像颜色仍然包含错误。

    所以现在我不确定实际问题是什么,但我的猜测来自于找到H,S,V的主导位置。如果我找到最大可能会更好。位置[H,S]和V通道分别代替H,S,V通道?或者有任何建议要指出?非常感谢

    This is the image I take and rebuild, the first row is bad result and 2nd row is good result(The rebuilt image on right can be regenerated more than 80% of original area)

0 个答案:

没有答案