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数据结构之图的实现方法
Jul 08 Python
解析Python中的生成器及其与迭代器的差异
Jun 20 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
python实现根据指定字符截取对应的行的内容方法
Oct 23 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
在python plt图表中文字大小调节的方法
Jul 08 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
Django异步任务线程池实现原理
Dec 17 Python
浅谈Python中的异常和JSON读写数据的实现
Feb 27 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 Python
yolov5返回坐标的方法实例
Mar 17 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中list()函数用法实例简析
2016/01/08 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
js图片翻书效果代码分享
2015/08/20 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
AngularJs点击状态值改变背景色的实例
2017/12/18 Javascript
浅谈React高阶组件
2018/03/28 Javascript
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
用python读写excel的方法
2014/11/18 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
最新pycharm安装教程
2020/11/18 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
详解使用HTML5 Canvas创建动态粒子网格动画
2016/12/14 HTML / CSS
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
决心书标准格式
2014/03/11 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
2014第二批党员干部对照“四风”找差距检查材料思想汇报
2014/09/18 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
2016年元旦寄语
2015/08/17 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL