资源简介
基于Opencv凸包检测的手势识别,使用训练好的XML文件,可以识别0,1,2,3,4,5,6,8等手势。
代码片段和文件信息
#include “math.h“
#include
#include
#include
#include
#include
#include
#include
//多线程
#include
using namespace cv;
using namespace std;
DWORD WINAPI myThread(char* _addr);
float ComputeAngle(float float float float);
int fingerSignal[10][2] = { 0 };
int centerToUnity[2] = { 0 };
int fingerNum = 0;
int gesture = -1;
//获取手势信息,在unity的c#脚本中被调用
extern “C“ _declspec(dllexport) void _stdcall GetGesture(int _signal[10][2] int _centerToUnity[2] int &_fingerNum int &_gesture)
{
_fingerNum = fingerNum;
for (int i = 0; i < 10; i++)
{
_signal[i][0] = 0;
_signal[i][1] = 0;
}
for (int i = 0; i < _fingerNum; i++)
{
_signal[i][0] = fingerSignal[i][0];
_signal[i][1] = fingerSignal[i][1];
}
_centerToUnity[0] = centerToUnity[0];
_centerToUnity[1] = centerToUnity[1];
_gesture = gesture;
}
//开启一个线程
extern “C“ _declspec(dllexport) void _stdcall StartDevice(char* addr)
{
HANDLE myHandle = CreateThread(NULL 0 (LPTHREAD_START_ROUTINE)myThread addr 0 NULL);//创建线程
}
//手势识别主要线程函数
DWORD WINAPI myThread(char* addr)
{
int delay = 1;
char c;
int frameNum = -1; // frame counter
VideoCapture captRefrnc(0);
captRefrnc.set(CV_CAP_PROP_frame_WIDTH 640);
captRefrnc.set(CV_CAP_PROP_frame_HEIGHT 480);
if (!captRefrnc.isOpened())
{
return -1;
cout << “Opening camera failed!“;
}
Size refS = Size((int)captRefrnc.get(CV_CAP_PROP_frame_WIDTH)
(int)captRefrnc.get(CV_CAP_PROP_frame_HEIGHT));
bool bHandFlag = false;
const char* WIN_SRC = “Source“;
const char* WIN_RESULT = “Result“;
namedWindow(WIN_SRC CV_WINDOW_AUTOSIZE);
namedWindow(WIN_RESULT CV_WINDOW_AUTOSIZE);
Mat frame; // 读取视频帧序列
Mat gray; //灰度图像
Mat segmented; //二值化阈值分割
Mat frameHSV; // hsv空间
Mat mask(frame.rows frame.cols CV_8UC1); // 2值掩膜
Mat dst(frame); // 输出图像
vector< vector > contours; // 存储轮廓信息
vector< vector > f
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 35840 2018-01-27 17:35 gestureDistinguish\.vs\gestureDistinguish\v14\.suo
文件 7388 2018-01-22 17:06 gestureDistinguish\gestureDistinguish\gestureDistinguish.vcxproj
文件 945 2018-01-22 17:06 gestureDistinguish\gestureDistinguish\gestureDistinguish.vcxproj.filters
文件 9281 2018-01-27 16:55 gestureDistinguish\gestureDistinguish\main.cpp
文件 764 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\CL.command.1.tlog
文件 51790 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\CL.read.1.tlog
文件 784 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\CL.write.1.tlog
文件 178 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\gestureDistinguish.lastbuildstate
文件 9254 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\gestureDistinguish.write.1u.tlog
文件 1660 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\li
文件 3398 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\li
文件 770 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog\li
文件 3830 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\gestureDistinguish.log
文件 809255 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\main.obj
文件 1674240 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\vc140.idb
文件 2387968 2018-01-23 21:12 gestureDistinguish\gestureDistinguish\x64\Debug\vc140.pdb
文件 49479680 2018-01-27 17:35 gestureDistinguish\gestureDistinguish.sdf
文件 1336 2018-01-23 19:54 gestureDistinguish\gestureDistinguish.sln
文件 184832 2018-01-23 21:12 gestureDistinguish\x64\Debug\gestureDistinguish.exe
文件 853 2018-01-23 20:57 gestureDistinguish\x64\Debug\gestureDistinguish.exp
文件 1350236 2018-01-23 21:12 gestureDistinguish\x64\Debug\gestureDistinguish.ilk
文件 2120 2018-01-23 20:57 gestureDistinguish\x64\Debug\gestureDistinguish.lib
文件 3772416 2018-01-23 21:12 gestureDistinguish\x64\Debug\gestureDistinguish.pdb
目录 0 2018-01-27 19:43 gestureDistinguish\gestureDistinguish\x64\Debug\gestureD.7CD43DD9.tlog
目录 0 2018-01-27 19:43 gestureDistinguish\.vs\gestureDistinguish\v14
目录 0 2018-01-27 19:43 gestureDistinguish\gestureDistinguish\x64\Debug
目录 0 2018-01-27 19:43 gestureDistinguish\.vs\gestureDistinguish
目录 0 2018-01-27 19:43 gestureDistinguish\gestureDistinguish\x64
目录 0 2018-01-27 19:43 gestureDistinguish\x64\Debug
...D.H. 0 2018-01-27 19:43 gestureDistinguish\.vs
............此处省略6个文件信息
相关资源
- 基于opencv的车辆检测
- opencv2.4.9 相机定标及图像矫正
- opencv2+vs2013实现表情识别 ,SVM+BP神经
- 基于opencv的三种人脸识别
- opencv求取多轮廓质心并在输出图像显
- 自己写的QT图像处理系统,和opencv进行
- OpenCV计算机视觉常用测试图
- 基于opencv颜色识别 - 图像(普通轮廓
- 基于OpenCV的车辆监测与计数
- 大华相机图像使用OpenCV显示
- opencv的单目标定API已经二次封装
- opencv_install
- 基于OpenCV的运动物体方向识别论文
- 基于Hough椭圆检测opencv
- 抠图代码opencv
- 基于opencv的鱼眼相机标定和透视投影
- MinGW编译的opencv3.2
- 基于 vs2010 opencv的人脸识别系统
- 鱼眼标定校正 opencv3.0 视场大小可调
- opencv 鱼眼镜头标定校正
- Qt5.9.3+mingw530_32+OpenCV3.4.1工程模版
- OpenCV计算机视觉编程攻略第3版完整高
- 应用opencv zbar 解析二维码图片
- 基于OpenCV的车牌识别一整套
- opencv3.4.1+contrib编译好的install文件vs
- 浅墨的opencv学习代码,有注释,前十
- OpenCV3.2对应的opencv_ffmpeg
- 相机标定和鸟瞰图生成_vs2017.rar
- opencv4.0.1+contrib+vs2017_x64
- OpenCv-4 Mingw(32bit)编译生成库包
评论
共有 条评论