资源简介
opencv实现两种手势识别,拳头和手掌,效果还是可以的
代码片段和文件信息
#include
#include
#include
#include
#include
cv::Mat img;
std::vector palm;
std::vector Fists;
cv::CascadeClassifier Fist Palm;
void DrawText(cv::Mat& imgstd::string textint x int ycv::Scalar color)
{
cv::putText(imgtext.c_str()cv::Point(xy)cv::FONT_HERSHEY_SIMPLEX0.8color21);
}
int main()
{
cv::VideoCapture cap(0);
char ch;
Fist.load(“fist.xml“);
Palm.load(“rpalm.xml“);
double time_past=0;
int frame_cnt = 0;
int T=5;
double avg_fps=0;
int64 s;
double time_palm=0 time_fist=0;
while(true)
{
int64 start = cv::getTickCount();
cap>>img;
s = cv::getTickCount();
Palm.detectMultiScale(imgpalm1.120|CV_HAAR_SCALE_IMAGEcv::Size(100100));
time_palm += (cv::getTickCount() - s) / cv::getTickFrequency();
s = cv::getTickCount();
Fist.detectMultiScale(imgFists1.120|CV_HAAR_SCALE_IMAGEcv::Size(100100));
time_fist += (cv::getTickCount() - s) / cv::getTickFrequency();
for(unsigned int i=0 j=0; i< Fists.size() || j < palm.size() ; j++i++)
{
if(Fists.size())
{
cv::putText(img“Fist“cv::Point(Fists[i].xFists[i].y)cv::FONT_HERSHEY_SIMPLEX0.8cv::Scalar(00255)21);
cv::rectangle(imgcv::Point(Fists[i].xFists[i].y)cv::Point(Fists[i].x+ Fists[i].widthFists[i].y+ Fists[i].height)cv::Scalar(0255255)180);
}
if(palm.size())
{
cv::putText(img“Palm“cv::Point(palm[i].xpalm[i].y)cv::FONT_HERSHEY_SIMPLEX0.8cv::Scalar(00255)21);
cv::rectangle(imgcv::Point(palm[i].xpalm[i].y)cv::Point(palm[i].x+ palm[i].widthpalm[i].y+ palm[i].height)cv::Scalar(0255255)180);
}
}
frame_cnt++;
time_past += (cv::getTickCount() - start) / cv::getTickFrequency();
if(time_past >= T)
{
avg_fps = (double)frame_cnt / time_past;
printf(“average fps:%3.2f time_palm:%f ms time_fist:%f ms in %d second\n“ avg_fps time_palm/frame_cnt*1000 time_fist/frame_cnt*1000 T);
frame_cnt = 0;
time_past = 0;
time_palm = 0;
time_fist = 0;
}
char fps_str[256] ;
sprintf(fps_str“%s %d““FPS : “(int)avg_fps);
DrawText(imgfps_str1050cv::Scalar(02550));
cv::imshow(“Gesture Recognition“img);
ch=cv::waitKey(1);
if(ch==27)
{
break;
}
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 2688 2017-11-07 06:07 CVGesture-master\CVGesture-master\demo.cpp
文件 121195 2017-11-07 06:07 CVGesture-master\CVGesture-master\fist.xm
....... 839 2017-11-07 06:07 CVGesture-master\CVGesture-master\installation.md
文件 295 2017-11-07 06:07 CVGesture-master\CVGesture-master\Makefile
文件 583960 2017-11-07 06:07 CVGesture-master\CVGesture-master\performance_report_cvgesture.pdf
....... 1101 2017-11-07 06:07 CVGesture-master\CVGesture-master\README.md
文件 179290 2017-11-07 06:07 CVGesture-master\CVGesture-master\rpalm.xm
文件 28200 2017-11-15 18:57 CVGesture-master\说明.JPG
目录 0 2017-11-07 06:07 CVGesture-master\CVGesture-master
目录 0 2017-11-15 18:57 CVGesture-master
----------- --------- ---------- ----- ----
917568 10
相关资源
- OpenCV+SVM简单应用-------路面箭头分类
- 基于Qt与OpenCV的图片读取、保存,并利
- Cannot load info library for OpenCV解决方案文
- Xvid-1.1.3-27042008
- 使用VIBE算法进行车流量检测并消除鬼
- opencv库文件
- opencv中的cvaux.lib文件
-
opencv的各种haarcascade.xm
l文件 - opencv实现的SIFT特征提取与匹配算法
- 《学习opecnv》第十二章鸟瞰图变换可
- 批量图像自动分割 opencv grabcut
- Opencv实现特征点提取和匹配
- 基 于OpenCV 的动态背景下的运动目标检
- Ubuntu和Zedboard都可实现的opencv人脸识别
- opencv 人脸识别 代码
-
训练好的车牌检测xm
l - OpenCV 找圆算法(HoughCircles)总结与优
- opencv实现指定目录下多幅图像读取与
- 车牌定位之字符分割
- 编译opencv3.1需要的ffmpeg_version.cmake文件
- LPT变换源码
- CameraHDR.rar
- APDS9930-C51程序.zip
- number.zip
- 机器视觉霍夫圆检测识别木材死节O
- 图像的预处理灰度图、二值化、字符
- 批量处理图片大小
- OpenCV实现相位相关图像配准
- opencv彩色图转换为灰度图并保存
- vgg_generated_80.i
评论
共有 条评论