池中最多将有15种这样的图像,我需要检测的是文本,以便记录用户所在的位置.
我面临的问题是,通过我尝试过的图像匹配软件,aurasma和稍微成功的arlabs,他们无法区分它们,因为它们主要用于处理详细的图像.
我需要准确地检测出正在扫描的斑块,并考虑使用gps来优化选择,但我找到的唯一可靠方法是让用户手动输入文本.我们基于该产品的主要吸引力之一是能够检测到已经存在的这些图像,而不必设置任何其他材料.
任何人都可以建议一个可以工作的软件(如iOS友好)或一种对用户有效和互动/愉悦的检测方法.
样本环境:
http://www.orienteeringcoach.com/wp-content/uploads/2012/08/startfinishscp.jpeg
环境可以发生很大变化,基本上可以定位斑块的任何位置;在树木繁茂或开阔地带的围栏,墙壁和柱子,但绝大多数在户外.
解决方法
对于分类,我看到两种选择:
>经典的“计算机视觉”路线将是特征提取和分类. Local Binary Patterns和HOG是已知具有足够快的移动特征提取器(前者比后者更多),并且它们实现起来并不复杂.但是,分类器并不重要,您可能需要搜索适当的iOs库.
>或者,您可以尝试对图像进行二值化,即将像素分类为“板”/白色或“文本”/黑色.然后,您可以使用容错相似性度量来比较二值化图像和斑块的二值化参考图像. chamfer distance measure是一个很好的候选人.它基本上归结为比较两个二值化图像的distance transforms.与直接比较二进制图像相比,这更容忍错位.可以预先计算参考图像的距离变换并将其存储在设备上.
就个人而言,我会尝试第二种方法.第二种方法的(非移动)原型相对容易编码和评估,具有良好的图像处理库(OpenCV,Matlab图像处理工具箱,Python等).