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 相关文章推荐
在Python中操作时间之strptime()方法的使用
Dec 30 Python
python定时器(Timer)用法简单实例
Jun 04 Python
Random 在 Python 中的使用方法
Aug 09 Python
解决Pycharm运行时找不到文件的问题
Oct 29 Python
python根据文章标题内容自动生成摘要的实例
Feb 21 Python
python实现kmp算法的实例代码
Apr 03 Python
python调用摄像头拍摄数据集
Jun 01 Python
django组合搜索实现过程详解(附代码)
Aug 06 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 Python
基于matplotlib中ion()和ioff()的使用详解
Jun 16 Python
Scrapy模拟登录赶集网的实现代码
Jul 07 Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 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 strtotime函数详解
2009/12/18 PHP
关于PHP中Object对象的笔记分享
2011/06/28 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
探讨jQuery的ajax使用场景(c#)
2013/12/03 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
使用js画图之饼图
2015/01/12 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
2015/07/20 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
2016/07/27 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
AngularJS中的Promise详细介绍及实例代码
2016/12/13 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
微信小程序 设置启动页面的两种方法
2017/03/09 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
python实现计算倒数的方法
2015/07/11 Python
Python从零开始创建区块链
2018/03/06 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
Pytorch之contiguous的用法
2019/12/31 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
下列程序在32位linux或unix中的结果是什么
2015/01/26 面试题
两道JAVA笔试题
2016/09/14 面试题
什么是抽象
2015/12/13 面试题
幼师自荐信范文
2013/10/06 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
群众路线个人整改方案
2014/10/25 职场文书
导游词400字
2015/02/13 职场文书
化验室岗位职责
2015/02/14 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python