(该案例将利用cv2,aip等模块,详细的安装以及使用的方法将在后文进行简单的介绍。)
通俗的含义:近朱者赤,近墨者黑
核心的思想:如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
应用举例:通过AI识别手写的数字(文字的识别也是类似的):
1、通过拍照得到手写内容;
2、识别图片后与原来已经录入的图形形状进行对比;
3、与哪一个数字的图形的形状最接近,则返回那个数字。
优点:
1、理论比较成熟;
2、容易理解, 简单而好用.
缺点:
1、可能会存在一定的错误;
2、计算复杂性较高,空间复杂性较高;
3、存在样本的不平衡问题.
百度公司开发的人工智能开放平台,目前已经在各方面有所突破,并且有较为广泛的应用。
具体的链接如下所示:(百度AI 开放平台的链接)
https://ai.baidu.com/
需要输入你自己的设备的appid, apikey, secretkey。
(此处定义函数是为了使功能的实现分成不同的区域块,从而便于理解,当然不定义函数也是可以实现相应的功能的。)
总之,该程序实现了调用百度人工智能平台中的文字识别功能,来进行识别手写或机器打印的文字(英语,汉语都可以哦),具体思路在这里进行一下总结:
1、首先拍摄照片;
2、构造请求头向百度AI平台中的设备发送请求以及请求的内容(图片);
3、获取得到请求的结果;
4、显示请求得到的结果。
另外,百度AI平台实际上采用的是机器的深度学习算法,这种算法由于KNN算法,精确度更高,识别结果更可信。
在上述的基础之上,可以将代码进行一定的优化与改良,具体的改良版本如下所示,这就简洁了不少(此处不再写注释,具体的改良方法可以自己总结来实现):
(这里的改良代码仅供参考啦~~)