1.将一张图片扩展为n张图片

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_imgdatagen = ImageDataGenerator(rotation_range=30,width_shift_range=0.2,height_shift_range=0.2,shear_range=0.2,zoom_range=0.2,horizontal_flip=True,fill_mode='nearest')img = load_img('E:\\1.jpg')
x = img_to_array(img)
x = x.reshape((1,) + x.shape)i = 0
for batch in datagen.flow(x, batch_size=1,save_to_dir='E:\Pictures_ML', save_prefix='num', save_format='jpeg'):i += 1if i >10: break

2.将图片压缩为64*48像素

from glob import glob
from PIL import Image
import ossource_dir = 'E:\Pictures_ML'
target_dir = 'E:\Pictures_64'filenames = glob('{}/*'.format(source_dir))
print(filenames)
for filename in filenames:with Image.open(filename) as im:width, height = im.sizeprint(filename, width, height, os.path.getsize(filename))threshold = 2*64*64for filename in filenames:filesize = os.path.getsize(filename)if filesize >= threshold:print(filename)if not os.path.exists(target_dir):os.makedirs(target_dir)for filename in filenames:filesize = os.path.getsize(filename)if filesize >= threshold:print(filename)with Image.open(filename) as im:width, height = im.sizenew_width = 64new_height =48print('adjusted size:', new_width, new_height)resized_im = im.resize((new_width, new_height))output_filename = filename.replace(source_dir, target_dir)resized_im.save(output_filename)

3.将文件夹内图片转pyh5格式

from PIL import Image
import os
import numpy
import h5py
from sklearn.model_selection import train_test_splitdirs = os.listdir("E:\Pictures_64")
Y = []
X = []
for filename in dirs:print(filename)label = int(filename.split('_')[0])print(label)Y.append(label)im = Image.open("E:\Pictures_64//{}".format(filename)).convert('RGB')mat = numpy.asarray(im)mat_1=mat.flatten()X.append(mat_1)
print('-------------------------分割线------------------------------------')file = h5py.File("E:\\filename.h5","a")
file.create_dataset('X', data=numpy.array(X))
file.create_dataset('Y', data=numpy.array(Y))
file.close()

4.读取h5文件内容训练模型

from PIL import Image
import os
import numpy
import h5py
import time
from sklearn.model_selection import train_test_split
from sklearn import svm
from sklearn import datasetsdata = h5py.File("E:\\filename.h5","r")
X_data = data['X']
Y_data = data['Y']print(X_data.shape)
print(Y_data.shape)print('-------------------------分割线------------------------------------')X_arr=numpy.array(X_data)
Y_arr=numpy.array(Y_data)X_train, X_test, y_train, y_test = train_test_split(X_arr,Y_arr, test_size=0.25, random_state=10)
print(y_train.shape)
print(y_test.shape)print('-------------------------分割线------------------------------------')
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
ss = StandardScaler()
X_train = ss.fit_transform(X_train)
X_test = ss.transform(X_test)
lsvc = LinearSVC()
lsvc.fit(X_train, y_train)
y_predict = lsvc.predict(X_test)
print ('The Accuracy of Linear SVC is', lsvc.score(X_test, y_test))print('-------------------------分割线------------------------------------')
z_predict=lsvc.predict(X_arr)
print(z_predict[200])from sklearn.externals import joblib
# 保存的模型的文件名
file = 'E:\\svm.joblib'
# 保存模型
joblib.dump(lsvc,file)
# 读取模型
svm_model = joblib.load(file)

5.读取保存的模型并测试

from PIL import Image
import os
import numpy
import h5py
import time
from sklearn.model_selection import train_test_split
from sklearn import svm
from sklearn import datasets
from sklearn.externals import joblib# 保存的模型的文件名
file = "E:\\svm.joblib"
# 读取模型
lsvc= joblib.load(file)data = h5py.File("E:\\filename.h5","r")
X_data = data['X']
Y_data = data['Y']X_arr=numpy.array(X_data)
Y_arr=numpy.array(Y_data)Z_predict=lsvc.predict(X_arr)
print(Z_predict[209])import osos.system("explorer c:\program files")

基于SVM的数字手势识别模型相关推荐

  1. dnn模型 list index out of range_基于svm的财务预警模型

    前言 本文将我国A股上市公司作为研究对象,选取了A股 2015-2019 年度被 ST 或被 *ST上市公司,剔除了部分非财务原因导致ST或*ST的上市公司.财务指标选择了T-3期的资产负债率.流动比 ...

  2. 数字孪生模型构建理论及应用

    源自:计算机集成制造系统 作者:陶飞  张贺  戚庆林  徐 俊  孙铮  胡天亮  刘晓军  刘庭煜  关俊涛  陈畅宇  孟凡伟  张辰源  李志远  魏永利  朱铭浩  肖斌 摘 要 数字孪生作 ...

  3. Android基于卷积神经网络的数字手势识别识别数字手势0-10 Android studio编译

    这篇博客主要基于我做的一个数字手势识别APP,具体分享下如何一步步训练一个卷积神经网络模型(CNN)模型,然后把模型集成到Android Studio中,开发一个数字手势识别APP.Android基于 ...

  4. 基于SVM技术的手写数字识别

    老师常说,在人工智能未发展起来之前,SVM技术是一统江湖的,SVM常常听到,但究竟是什么呢?最近研究了一下基于SVM技术的手写数字识别.你没有看错,又是手写数字识别,就是喜欢这个手写数字识别,没办法( ...

  5. r语言 svm 大样本_r语言基于SVM模型的文本分类研究 附数据代码

    1 Perceptron 与 SVM 概念介绍 1.1 感知机 (Perceptron) 感知机( perceptron ) 1957 年由 Rosenblatt 提出,是神经网络与支持向 量机的基础 ...

  6. ML之SVM:基于SVM(支持向量机)之SVC算法对手写数字图片识别进行预测

    ML之SVM:基于SVM(支持向量机)之SVC算法对手写数字图片识别进行预测 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 X_train = ss.fit_transform(X ...

  7. 持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型

    持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tens ...

  8. 孪生神经网络_轩辕实验室:数字孪生:基于机器学习的汽车数字孪生模型

    本文来源:A. Rassolkin, T. Vaimann, A. Kallaste, and V. Kuts, "Digital twin for propulsion drive of ...

  9. 网格向量必须包含特征点。_【专题研究】基于SVM支持向量机模型的选股策略

    研究过集成学习中的随机森林和XGBoost后,本文将介绍一种更传统的机器学习方法:SVM支持向量机.SVM由于其较高的准确度,并且能够解决非线性分类问题,曾一度成为非常流行的机器学习算法.本文分别介绍 ...

最新文章

  1. 【Plant Cell】突破!加入一种酵母,可显著提高水稻氮利用率及产量!
  2. nginx中的数组结构ngx_array_t
  3. 鸟哥的Linux私房菜(基础篇)-第三章、主机规划与磁盘分区(三.1. Linux与硬件的搭配)
  4. 2259: matrix
  5. hdu 1568 Fibonacci 对数。。
  6. Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果
  7. 如何用Pygame写游戏(五)
  8. android 快速布局,快速实现android的协同布局CoordinatorLayout
  9. 大数据平台搭建_【他山之石】自研搭建Hadoop数据科学开发环境,促进大数据平台建设降本增效...
  10. linux的pending状态怎么退出,状态显示Pending Contract
  11. 在计算机上配置超级终端,解决办法:如何在XP系统中设置超级终端? xp超级终端设置方法...
  12. R语言:企业风险分析(2)【蒙特卡罗模拟,Monte-Carlo Simulation】
  13. Pr零基础入门指南笔记二
  14. CAD看图软件查看CAD图纸
  15. 5w对讲机需要执照吗
  16. OVN 流表基础 -- 基于 kubeOVN (一)
  17. python使用Axes3D画三维图加入legend图例时报错AttributeError: ‘Poly3DCollection‘ object has no attribute ‘_edgecolo
  18. VMware:继续使用 Adob​​e Flash 管理您的 vCenter
  19. javafx 实现绘图板
  20. 家用双wan口路由器推荐_路由器串口和以太口 家用双wan口路由器推荐

热门文章

  1. 华中科大微型计算机接口技术课后答案,2018考研华中科技大学811微机原理及接口技术考试大纲...
  2. python吃显卡还是内存条_加内存条还是加显卡??
  3. (转)程序员不爱读书,但这很不明智
  4. OBS Stduio 捕获屏幕预览黑屏 win10解决方案
  5. shell脚本--重启服务
  6. Windows 10 设置不用Microsoft账户登录,将Administrator与Microsoft账户解绑,注销Microsoft账户
  7. msvcr110.dll php,windows,_msvcr110.dll丢失,vcredist_x64.exe设置失败,windows - phpStudy
  8. 主题 支持 php 7.2,最新七星修改二开正米酷影视7.2完整版/支持自定义解析/支持PHP7.0及以上...
  9. 【正点原子MP157连载】第四十一章 RGB转HDMI实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  10. 飞得更高——记用友研发20年