手势识别代码上,下,左,右


手势识别,使用OpenCV,scikit-learn等库对手势进行机器学习,识别食指所指方向;上、下、左、右四个方向(包含数据集)
资源截图
代码片段和文件信息
# -*- coding: utf-8 -*-
# @auth
# 使用SVM对手势方向进行训练 分类

import cv2
import numpy as np 
from os import listdir
from sklearn.svm import SVC
from sklearn.externals import joblib
from sklearn.model_selection import GridSearchCV

train_path = “./feature/“
test_path  = “./test_feature/“
model_path = “./model/“

# 将txt文件中的特征转化成向量
def txtToVector(filename N):
returnVec = np.zeros((1N))
fr = open(filename)
lineStr = fr.readline()
lineStr = lineStr.split(“ “)
for i in range(N):
returnVec[0 i] = int(lineStr[i])
return returnVec


# 训练SVM
def train_SVM(N):
svc = SVC()
parameters = {‘kernel‘:(‘linear‘ ‘rbf‘)
              ‘C‘:[1 3 5 7 9 11 13 15 17 19]
              ‘gamma‘:[0.00001 0.0001 0.001 0.1 1 10 100 1000]}#预设置一些参数值
hwLabels = []#存放类别标签
trainingFileList = listdir(train_path)
m = len(trainingFileList)
trainingMat = np.zeros((mN))
for i in range(m):
fileNameStr = trainingFileList[i]
classNumber = int(fileNameStr.split(‘_‘)[0])
hwLabels.append(classNumber)
trainingMat[i:] = txtToVector(train_path+fileNameStr N)#将训练集改为矩阵格式
clf = GridSearchCV(svc parameters cv=5 n_jobs=8)#网格搜索法,设置5-折交叉验证
clf.fit(trainingMat hwLabels)
print(clf.return_train_score)
print(clf.best_params_) #打印出最好的结果
best_model = clf.best_estimator_
print(“SVM Model saved“)
save_path = model_path + “svm_train_model.m“
joblib.dump(best_modelsave_path)#保存最好的模型


# 测试SVM
def test_SVM(clfN):
testFileList = listdir(train_path)
errorCount = 0#记录错误个数
mTest = len(testFileList)
for i in range(mTest):
fileNameStr = testFileList[i]
classNum = int(fileNameStr.split(‘_‘)[0])
vectorTest = txtToVector(train_path+fileNameStrN)
valTest = clf.predict(vectorTest)
#print(“分类返回结果为%d 真实结果为%d“ % (valTest classNum))
print(“file:“ fileNameStr“classNum:“ classNum “Test:“ clf.predict(vectorTest))
if valTest != classNum:
errorCount += 1
print(“总共错了%d个数据
错误率为%f%%“ % (errorCount errorCount/mTest * 100))


# 载入模型并进行测试
def test_fd(fd_test):
clf = joblib.load(model_path + “svm_train_model.m“)
test_svm = clf.predict(fd_test)
return test_svm


if __name__==“__main__“:
train_SVM(99)
clf = joblib.load(model_path + “svm_train_model.m“)
test_SVM(clf99)




 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-02-10 04:37  final
     文件       10244  2020-02-12 09:08  final.DS_Store
     文件         120  2020-02-12 09:08  __MACOSXfinal._.DS_Store
     文件         801  2020-02-12 09:10  finalpicture.py
     文件         220  2020-02-12 09:10  __MACOSXfinal._picture.py
     目录           0  2020-02-01 08:54  finalimages
     文件         187  2020-02-01 08:54  __MACOSXfinal._images
     目录           0  2020-02-11 09:12  finaldataset
     文件        2446  2020-02-12 08:47  finalclassify.py
     文件         276  2020-02-12 08:47  __MACOSXfinal._classify.py
     文件        1524  2020-02-12 09:16  finalextractFeature.py
     文件         220  2020-02-12 09:16  __MACOSXfinal._extractFeature.py
     目录           0  2020-02-12 09:06  final est_image
     文件         187  2020-02-12 09:06  __MACOSXfinal._test_image
     目录           0  2020-02-01 14:06  final\__pycache__
     文件        1297  2020-02-12 07:21  finaldataset.py
     文件         220  2020-02-12 07:21  __MACOSXfinal._dataset.py
     目录           0  2020-02-10 04:37  finalmodel
     目录           0  2020-02-01 08:53  finalfeature
     文件        5187  2020-02-12 09:17  finalmyGUI.py
     文件         220  2020-02-12 09:17  __MACOSXfinal._myGUI.py
     目录           0  2020-02-01 08:53  final est_feature
     文件       26585  2020-02-01 10:01  finalimages2_249.png
     文件         287  2020-02-01 10:01  __MACOSXfinalimages._2_249.png
     文件       32309  2020-02-01 13:18  finalimages2_261.png
     文件         287  2020-02-01 13:18  __MACOSXfinalimages._2_261.png
     文件       24292  2020-02-01 13:18  finalimages2_275.png
     文件         187  2020-02-01 13:18  __MACOSXfinalimages._2_275.png
     文件       11489  2020-01-31 14:49  finalimages1_64.png
     文件         287  2020-01-31 14:49  __MACOSXfinalimages._1_64.png
     文件       31853  2020-02-01 13:18  finalimages1_349.png
............此处省略7311个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)