我们目前正在使用opencv.pre-processing进行android ocr应用程序的处理,分割,特征提取步骤已完成。分类是剩下的一步,我们被卡住了..我们正在使用一个填充了每个字母特征的数据库表格。首先,我们每个字母只有一个特征,我们使用了欧几里得距离,但结果不准确,更多需要获得的功能,所以我们做了。现在的问题是,我们有7个功能每封信,绝对不知道如何根据它们对i/p进行分类..有人建议使用knn,但我们无法弄清楚并且该部分中的opencv文档尚不清楚。如果有人能帮助它,那么它会很好。 在此先感谢使用opencv进行图像分类
1
A
回答
3
简而不讨论细节。矢量空间在这里派上用场。您需要为训练集中的每个实例构建一个特征向量 <feature1, feature2, feature3.. featureN>
。 从这些图像中提取您认为或者您在研究文章中阅读的特征对于图像分类非常重要。例如,你可以做质心,高斯模糊,直方图等。 一旦你有了这些值,线性代数就会发挥一些分类算法的作用:knn,svm,naive bayes等你在你的训练集上运行,那就是你建立你的模型。 如果模型准备就绪,请在测试集上运行它。 使用交叉验证以获得更全面的结果。 有关详情,请在课程笔记: http://www.inf.ed.ac.uk/teaching/courses/iaml/slides/knn-2x2.pdf 或 http://www.inf.ed.ac.uk/teaching/courses/inf2b/lectureSchedule.html
0
想补充一点的OpenCV可能不会有那种你可能更喜欢分类的。
这里有几个图书馆,尽管你可能不得不在移动平台上看到最好的图书馆。你能否提供一些你正在使用的功能的细节?
最简单的KNN(k-最近邻)度量将是在输入样本的要素与数据库表中的每个向量之间找到n维(对于n维特征向量)的欧几里德距离。如果您有多个类并且要将输入图像分类为图像的“类型”或“类”之一,还要探索Mahalanobis距离(用于测量点与数据集/类之间的距离)。
正如@matcheek所提到的,使用机器学习技术如SVM,神经网络等可以实现更复杂的功能。然而,首先考虑一个更简单的事情,比如kNN,考虑到它可能会限制计算的复杂性。
相关问题
- 1. 使用Python进行图像分类,Tensorflow
- 2. 使用PHP进行图像分类
- 3. android:使用opencv进行图像识别
- 4. 使用OpenCV进行图像检测
- 5. 使用OpenCV进行天空分析的图像
- 6. 卫星图像分类Opencv
- 7. 使用支持向量机分类器进行图像分类
- 8. 检测图像中的特定对象,即使用opencv进行图像分割
- 9. 如何使用OpenCV RTrees进行二进制分类?
- 10. 在MatLab中使用LIBSVM进行多类图像分类
- 11. 用于C++图像分析的OpenCV二进制图像蒙版
- 12. 使用OpenCV进行摄像机标定
- 13. 使用opencv进行摄像机标定
- 14. 在OpenGL图形上使用OpenCV进行图像处理
- 15. 使用KMean对图像进行分组
- 16. 使用imagemagick进行图像分割
- 17. 使用JavaScript对图像进行划分
- 18. 使用图像进行多分辨率
- 19. 使用python进行图像分割
- 20. 在python中使用OpenCV分割图像
- 21. 使用OpenCV从二进制图像中分解简单形状
- 22. 使用OpenCV检测二进制图像的分叉和端点
- 23. 使用opencv按颜色对像素进行分组
- 24. 在Win32应用程序中使用opencv进行图像显示
- 25. 是什么在OpenCV进行图像
- 26. 使用Caffe对图像中的手写数字进行分类
- 27. 如何使用SVM对图像进行分类
- 28. 使用SVM和BOW进行图像分类?
- 29. 如何使用Alexnet对Cifar图像进行分类Deeplearning4j
- 30. 如何使用Apache Mahout对图像进行分类?
谢谢你:)这些链接真的很有用:) – user1486322