我正在构建一个iOS应用程序,作为一个关键功能,结合了图像匹配。问题是,我需要识别的图像是小的定向10x10斑块,上面有简单的大文本。它们可以是非常反射的,并且会在外面(所以光线条件将是可变的)。示例图像

在池中将有多达15种类型的图像,我真正需要检测的是文本,以便记录用户去过的地方。
我面临的问题是,使用我尝试过的图像匹配软件aurasma和稍微成功的arlabs,它们无法区分它们,因为它们主要是为处理详细图像而构建的。
我需要准确地检测正在扫描的斑块,并考虑使用gps来改进选择,但我找到的唯一可靠的方法是让用户手动输入文本。我们基于该产品的一个关键吸引力是能够检测到这些已经存在的图像,而不需要设置任何额外的材料。
有没有人能推荐一款可以工作的软件(因为它是iOS友好的)或者一种对用户来说是有效的、交互式的/令人愉悦的检测方法。
示例环境:http://www.orienteeringcoach.com/wp-content/uploads/2012/08/startfinishscp.jpeg
环境可能会发生实质性的变化,基本上是斑块所在的任何地方;无论是林地还是开阔区域的栅栏、墙壁和柱子,但绝大多数都是在户外。
发布于 2013-02-16 23:14:02
我设法找到了一个运行良好的解决方案。我还没有完全优化,但我认为它只是调整过滤器,因为我稍后会解释。
最初,我试图设置opencv,但它非常耗时,学习曲线也很陡峭,但它确实给了我一个想法。我的问题的关键是真正检测图像中的字符并忽略背景,这基本上只是噪声。OCR正是为此目的而设计的。
我发现免费的库tesseract (https://github.com/ldiqual/tesseract-ios-lib)使用起来很简单,而且有很强的可定制性。起初,结果是非常随机的,但应用锐化和单色滤镜以及颜色反转很好地清理了文本。接下来,a在ui上标出一个目标区域,并用它来剪切出要处理的图像的矩形。处理大图像的速度很慢,这大大降低了处理速度。OCR过滤器允许我限制允许的字符,由于斑块遵循标准配置,这缩小了准确性。
到目前为止,它成功地处理了灰色背景斑块,但我还没有找到正确的红色和白色版本的滤镜。我的目标是添加颜色检测功能,并且不再需要输入数据类型。
发布于 2013-02-07 01:54:50
我不是iOs程序员,但我会试着从算法的角度来回答。本质上,您有一个检测问题(“斑块在哪里?”)和一个分类问题(“哪一个是它?”)。要求用户将斑块保留在预先定义的区域中当然是一个好主意。这解决了检测问题,这通常比分类问题更难在有限的资源下解决。
对于分类,我认为有两种选择:
就我个人而言,我会尝试第二种方法。第二种方法的(非移动)原型相对容易编码,并使用良好的图像处理库(OpenCV、Matlab + image processing Toolbox、Python等)进行评估。
https://stackoverflow.com/questions/14713002
复制相似问题