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

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



评论

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

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

#1 楼

您可以放置​​粗线以检测颜色区域


首先检测所有线进行正方形的模板匹配。
找到正方形后,向下穿越收费站,即可到达另一组正方形。
标记找到正方形的所有点
您现在有了一个封闭区域用于颜色表。


#2 楼

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

您可能必须首先使用位图编辑器。

#3 楼

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

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

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

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

检查此内容:

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

八色量化:http://www.cubic.org/docs/octree.htm。另请参见。

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

#4 楼

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