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压缩文件夹内所有文件为zip文件的方法
Jun 20 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
python入门教程之识别验证码
Mar 04 Python
Python实现线程状态监测简单示例
Mar 28 Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 Python
python爬取个性签名的方法
Jun 17 Python
使用PyCharm进行远程开发和调试的实现
Nov 04 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
Pytorch模型转onnx模型实例
Jan 15 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
Python pymysql模块安装并操作过程解析
Oct 13 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 Static关键字实用方法
2010/06/04 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
javascript分页代码实例分享(js分页)
2013/12/13 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
JS获取时间的方法
2015/01/21 Javascript
Bootstrap每天必学之轮播(Carousel)插件
2016/04/25 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
wxpython 最小化到托盘与欢迎图片的实现方法
2014/06/09 Python
python模糊图片过滤的方法
2018/12/14 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
李宁官方网店:中国运动品牌
2017/11/02 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
办公室文秘自我评价
2013/09/21 职场文书
保密协议书范本
2014/04/22 职场文书
社区戒毒工作方案
2014/06/04 职场文书
小学家长学校培训材料
2014/08/24 职场文书
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python