【发布时间】:2020-05-16 00:12:49
【问题描述】:
我有 32 个字母卡,例如 OSMO 应用程序 (https://www.playosmo.com/en/words/)。
我想在图像中或在相机的帧中实时识别它们
我想要这个适用于 android 设备的应用程序
所以我为此目的使用了 opencv 和 c++。
我尝试过的方法是
- 首先我使用 sift、surf 和 orb 来获取关键点并将它们与卡片的静态图片进行比较
- 第二种方法是k最近邻。我训练一些图片并制作两个xml文件,其中一个包含二进制模式下所有训练图像的像素,另一个是分类文件,它是训练图像的映射。
第一种方法有一个问题,即关键点可以实时变化并且不是唯一的。
所以匹配关键点不好。
第二种方法的问题是android设备中的xml文件加载时间过长。
所以现在我需要帮助
有什么快速可靠的方法吗?我该怎么办?
【问题讨论】:
-
您可以使用tesseract 吗?
-
不,我没有使用它,因为在示例中它在实时应用中并不精确。
-
您是否尝试将这些字母或数字的轮廓保存为数组,然后使用 matchshape 函数在大图像中查找这些轮廓。这可以通过支持其他 opencv 函数来提供高速和良好的结果
-
是的,我正在处理这个问题。谢谢推荐。
-
如果您对这些步骤有一些问题,您可以提出一个新问题,我可能会帮助您。祝你好运!!!
标签: android c++ opencv image-processing object-recognition