首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS中的稀疏图像匹配

iOS中的稀疏图像匹配
EN

Stack Overflow用户
提问于 2013-02-06 01:09:45
回答 2查看 1.4K关注 0票数 7

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

在池中将有多达15种类型的图像,我真正需要检测的是文本,以便记录用户去过的地方。

我面临的问题是,使用我尝试过的图像匹配软件aurasma和稍微成功的arlabs,它们无法区分它们,因为它们主要是为处理详细图像而构建的。

我需要准确地检测正在扫描的斑块,并考虑使用gps来改进选择,但我找到的唯一可靠的方法是让用户手动输入文本。我们基于该产品的一个关键吸引力是能够检测到这些已经存在的图像,而不需要设置任何额外的材料。

有没有人能推荐一款可以工作的软件(因为它是iOS友好的)或者一种对用户来说是有效的、交互式的/令人愉悦的检测方法。

示例环境:http://www.orienteeringcoach.com/wp-content/uploads/2012/08/startfinishscp.jpeg

环境可能会发生实质性的变化,基本上是斑块所在的任何地方;无论是林地还是开阔区域的栅栏、墙壁和柱子,但绝大多数都是在户外。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-16 23:14:02

我设法找到了一个运行良好的解决方案。我还没有完全优化,但我认为它只是调整过滤器,因为我稍后会解释。

最初,我试图设置opencv,但它非常耗时,学习曲线也很陡峭,但它确实给了我一个想法。我的问题的关键是真正检测图像中的字符并忽略背景,这基本上只是噪声。OCR正是为此目的而设计的。

我发现免费的库tesseract (https://github.com/ldiqual/tesseract-ios-lib)使用起来很简单,而且有很强的可定制性。起初,结果是非常随机的,但应用锐化和单色滤镜以及颜色反转很好地清理了文本。接下来,a在ui上标出一个目标区域,并用它来剪切出要处理的图像的矩形。处理大图像的速度很慢,这大大降低了处理速度。OCR过滤器允许我限制允许的字符,由于斑块遵循标准配置,这缩小了准确性。

到目前为止,它成功地处理了灰色背景斑块,但我还没有找到正确的红色和白色版本的滤镜。我的目标是添加颜色检测功能,并且不再需要输入数据类型。

票数 1
EN

Stack Overflow用户

发布于 2013-02-07 01:54:50

我不是iOs程序员,但我会试着从算法的角度来回答。本质上,您有一个检测问题(“斑块在哪里?”)和一个分类问题(“哪一个是它?”)。要求用户将斑块保留在预先定义的区域中当然是一个好主意。这解决了检测问题,这通常比分类问题更难在有限的资源下解决。

对于分类,我认为有两种选择:

  1. 经典的“计算机视觉”路线是特征提取和分类。Local Binary PatternsHOG是已知的对移动设备来说足够快的特征提取器(前者比后者更快),而且它们并不太复杂,无法实现。然而,分类器并不简单,您可能必须搜索合适的iOs library.
  2. Alternatively,,您可以尝试对图像进行二值化,即将像素分类为“车牌”/白色或“文本”/黑色。然后,您可以使用容错相似性度量将二值化图像与斑块的二值化参考图像进行比较。chamfer distance measure是一个很好的候选者。它本质上归结为比较两个二值化图像的distance transforms。这比直接比较二进制图像更能容忍未对准。参考图像的距离变换可以预先计算并存储在设备上。

就我个人而言,我会尝试第二种方法。第二种方法的(非移动)原型相对容易编码,并使用良好的图像处理库(OpenCV、Matlab + image processing Toolbox、Python等)进行评估。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14713002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档