如何从颜色表中识别颜色?


9

我正在开发一个视觉应用程序,该应用程序使用下面的色表和照相机提取图表中每个色块的颜色。为此,我必须首先检测图像中的图表区域,然后将该区域与包含补丁位置的现有模板进行匹配。

我的问题:我需要通过识别图表的四个角来检测色块区域。您可以在下面的图像中看到小插入矩形指示的角。我知道一种解决方法是让用户通过单击选择那些角。但是有什么方法可以自动检测图像中的四个角。

在此处输入图片说明


只是好奇,在哪里可以获得这样的颜色参考表?
hotpaw2

@ hotpaw2像往常一样,谷歌。搜索“ it8目标”一词

Answers:


4

您可以放置​​霍夫线来检测颜色区域

  • 首先检测所有行
  • 最长的线将是最外面的线
  • 选择顶部水平线,并为正方形进行模板匹配。
  • 找到正方形后,向下穿越收费站,即可到达另一组正方形。
  • 标记所有找到正方形的点
  • 现在,您有了色卡的封闭区域。

2

颜色分量(RGB等)的每个2D阵列都具有很高的对比度和独特性。因此,我可以尝试使用每个颜色分量的复杂2D FFT来确定照片图像与参考图像的比例和偏移。然后使用那些调整参考图像中角和/或小块的测量/已知坐标以在照片中生成坐标。

您可能必须首先使用位图编辑器来测量参考图像上的一些坐标。


1

第一步-我将用灰色和文字消除所有混乱。从所有四个侧面开始,我将停止直到大多数像素具有独特的“灰色”颜色。

这将只剩下由不同颜色组成的棋盘格。您期望约22x12-约264色。

最简单的方法是应用更​​简单的调色板化算法。如果您必须将其转换为GIF图像-它将颜色量化应用于每个颜色簇,以质心颜色表示。

在您的情况下,这将特别容易,因为来源已经是某种味觉,您可以做出一个不错的猜测。

看一下这个:

NeuQuant:http ://members.ozemail.com.au/~dekker/NEUQUANT.HTML

八进制颜色量化:http : //www.cubic.org/docs/octree.htm。见也。

这些只是一些参考;但您会在大多数使用此类图像格式的库中找到准备使用的代码。(BMP,PNG和GIF支持此类表示)。另请查看libpnglibjpeg的一些快速实现。


0

为什么不寻找图表的边界,而不是角落?您可以尝试使用边缘检测器,然后使用霍夫变换来查找直线。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.