我们目前正在使用 opencv 开发一个 android ocr 应用程序。预处理、分割、特征提取步骤已经完成。分类是剩下的步骤,我们被卡住了。我们正在使用一个数据库表,其中填充了每个字母的特征。首先,我们每个字母只有一个特征,我们使用欧氏距离,但结果不准确而且更多需要获得特征,所以我们做到了。现在的问题是我们每个字母有 7 个特征,完全不知道如何根据它们对 i/p 进行分类。有些人建议使用 knn,但我们不知道如何并且那部分的 opencv 文档不清楚..所以如果有人可以帮助它会很棒。 提前致谢
最佳答案
简要说明,不讨论细节。向量空间在这里派上用场。您需要构建一个特征向量
<feature1, feature2, feature3.. featureN>
对于训练集中的每个实例。
从这些图像中的每一个中,您都可以提取您认为或您在研究文章中阅读的对图像分类很重要的特征。例如,你可以做质心、高斯模糊、直方图等。
一旦你有了这些值,线性代数就会与一些分类算法一起发挥作用:你在你的训练集上运行的 knn、svm、朴素贝叶斯等,那就是你建立你的模型。
如果模型准备就绪,您可以在测试集上运行它。
使用交叉验证以获得更全面的结果。
有关更多详细信息,请查看类(class)笔记:
http://www.inf.ed.ac.uk/teaching/courses/iaml/slides/knn-2x2.pdf
或者
http://www.inf.ed.ac.uk/teaching/courses/inf2b/lectureSchedule.html
关于android - 使用 opencv 进行图像分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11230974/