首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用最近邻法进行图像模式识别

利用最近邻法进行图像模式识别
EN

Stack Overflow用户
提问于 2010-05-02 19:39:13
回答 3查看 9.9K关注 0票数 11

因此,我希望能够识别图像中的模式(例如数字4),我一直在阅读不同的算法,我真的很想使用最近邻算法,它看起来很简单,我确实基于本教程理解了它:http://people.revoledu.com/kardi/tutorial/KNN/KNN_Numerical-example.html问题是,尽管我知道如何使用它来填充缺失的数据集,但我不明白我如何将其用作模式识别工具来瞄准图像形状识别。有人能解释一下这个算法是如何用于模式识别的吗?我看过使用OpenCV的教程,但是我真的不想使用这个库,因为我有能力自己做预处理,而且我只是为了一个简单的最近邻算法而实现这个库,这似乎很愚蠢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-02 20:02:36

你只是(简单地?)必须为你的数据定义一个“距离”的度量。

假设你已经将大图像分割成小图像,每个小图像对应一个你想要分类的文本字符。让我们假设我们正在处理数字单色图像,因此每个图像都表示为(比方说) 0-255整数范围(亮度)内的值(像素)的矩形矩阵。它还假设(NN是一种“监督分类算法”),你有很多已经很好分类的图像(你的训练集)。

给定一个新的小图像,您必须定义两个图像之间的距离,以便选择训练集中最接近的图像,并选择其“标签”作为识别的文本字符。

一种天真的方法是取像素的差值(例如平方和)。但这种距离度量对平移(以及旋转和缩放)很敏感,我们通常不希望出现这种情况。另一种方法是计算傅立叶变换的模数,它是平移不变的(但这还不够)。从这里你可以开始-并认识到问题是困难的,并且这些类型的分类需要大量的工作才能被接受。

票数 9
EN

Stack Overflow用户

发布于 2011-05-09 19:44:53

我使用K近邻算法进行姿态识别,在一个实时的摄像机姿态识别中。我建议你使用Matlab来训练和测试数据集,因为它有用于此目的的PRToolbox,并且有很多帮助和示例。最重要的一件事是,你要正确地选择那些特性,这些特性可以很好地表示每一个类。一旦你有了特征(这将是一组值,比如颜色,面积,位置...)对于类,您需要样本来训练分类器(例如KNN)。与分类器同样重要的是如何选择用于训练的样本。然后你将不得不测试分类器。

尝试不同的训练集,不同的特征,不同的分类器,因为KNN可能不是最适合您的数据类型的方法。

我希望这对你有用。

票数 2
EN

Stack Overflow用户

发布于 2014-09-25 10:24:04

下面是一个使用Python http://shyamalapriya.github.io/digit-recognition-using-k-nearest-neighbors/的简单实现

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

https://stackoverflow.com/questions/2753328

复制
相关文章

相似问题

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