python实现基于SVM手写数字识别功能


Posted in Python onMay 27, 2020

本文实例为大家分享了SVM手写数字识别功能的具体代码,供大家参考,具体内容如下

1、SVM手写数字识别

识别步骤:

(1)样本图像的准备。
(2)图像尺寸标准化:将图像大小都标准化为8*8大小。
(3)读取未知样本图像,提取图像特征,生成图像特征组。
(4)将未知测试样本图像特征组送入SVM进行测试,将测试的结果输出。

识别代码:

#!/usr/bin/env python
import numpy as np
import mlpy
import cv2
print 'loading ...'

def getnumc(fn):
 '''返回数字特征'''
 fnimg = cv2.imread(fn) #读取图像
 img=cv2.resize(fnimg,(8,8)) #将图像大小调整为8*8
 alltz=[]
 for now_h in xrange(0,8):
 xtz=[] 
 for now_w in xrange(0,8):
  b = img[now_h,now_w,0]
  g = img[now_h,now_w,1]
  r = img[now_h,now_w,2]
  btz=255-b
  gtz=255-g
  rtz=255-r
  if btz>0 or gtz>0 or rtz>0:
  nowtz=1
  else:
  nowtz=0
  xtz.append(nowtz) 
 alltz+=xtz
 return alltz
 
#读取样本数字
x=[]
y=[]
for numi in xrange(1,10):
 for numij in xrange(1,5):
 fn='nums/'+str(numi)+'-'+str(numij)+'.png'
 x.append(getnumc(fn))
 y.append(numi)
 
x=np.array(x)
y=np.array(y)
svm = mlpy.LibSvm(svm_type='c_svc', kernel_type='poly',gamma=10)
svm.learn(x, y)
print u"训练样本测试:"
print svm.pred(x)
print u"未知图像测试:"
for iii in xrange (1,10):
 testfn= 'nums/test/'+str(iii)+'-test.png'
 testx=[]
 testx.append(getnumc(testfn))
 print 
 print testfn+":",
 print svm.pred(testx)

样本:

python实现基于SVM手写数字识别功能

python实现基于SVM手写数字识别功能

结果:

python实现基于SVM手写数字识别功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python2.7安装图文教程
Mar 13 Python
详解Django解决ajax跨域访问问题
Aug 24 Python
python3的print()函数的用法图文讲解
Jul 16 Python
在pycharm中显示python画的图方法
Aug 31 Python
Django配置MySQL数据库的完整步骤
Sep 07 Python
Pycharm配置lua编译环境过程图解
Nov 28 Python
举例讲解Python装饰器
Dec 24 Python
如何使用Python实现一个简易的ORM模型
May 12 Python
Django实现聊天机器人
May 31 Python
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
Apr 14 Python
详解NumPy中的线性关系与数据修剪压缩
May 25 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
Jun 05 Python
Python中字典的浅拷贝与深拷贝用法实例分析
Jan 02 #Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 #Python
Python实现进程同步和通信的方法
Jan 02 #Python
mac系统安装Python3初体验
Jan 02 #Python
Python中static相关知识小结
Jan 02 #Python
python tensorflow基于cnn实现手写数字识别
Jan 01 #Python
python+selenium实现163邮箱自动登陆的方法
Dec 31 #Python
You might like
批量去除PHP文件中bom的PHP代码
2012/03/13 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
python进程与线程小结实例分析
2018/11/11 PHP
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
JavaScript多线程详解
2015/08/12 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
NodeJS如何实现同步的方法示例
2018/08/24 NodeJs
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
python通过shutil实现快速文件复制的方法
2015/03/14 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python利用openpyxl库遍历Sheet的实例
2018/05/03 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python collections模块使用方法详解
2019/08/28 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
理肤泉美国官网:La Roche-Posay
2018/01/17 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
物业电工岗位职责
2013/11/20 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
汉语言文学专业求职信
2014/06/19 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
小兵张嘎观后感
2015/06/03 职场文书
开学第一天的感想
2015/08/10 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP