资源简介
opencv_traincascade训练分类器,手势识别
代码片段和文件信息
//
// main.cpp
// handDetection
//
// Created by 刘鹏 on 2016/11/27.
// Copyright © 2016年 刘鹏. All rights reserved.
//
#include
#include
#include
#include
using namespace std;
using namespace cv;
// Global variables
// Copy this file from opencv/data/haarscascades to target folder
string face_cascade_name = “/Users/liupeng/Desktop/my/handDetection/handDetection/hand.xml“;
CascadeClassifier *face_cascade;
string window_name = “Capture - Face detection“;
int filenumber; // Number of file to be saved
string filename;
// Function Headers
class faceDetection
{
private:
std::vector faces;
public:
faceDetection();
~faceDetection();
void detectAndDisplay(Mat frame);
};
faceDetection::faceDetection()
{
}
faceDetection::~faceDetection()
{
}
// Function detectAndDisplay
void faceDetection::detectAndDisplay(Mat frame)
{
// 报错问题所在,。
// std::vector faces;
Mat frame_gray;
Mat crop;
Mat res;
Mat gray;
string text;
stringstream sstm;
cvtColor(frame frame_gray COLOR_BGR2GRAY);
equalizeHist(frame_gray frame_gray);
// Detect faces
face_cascade->detectMultiScale(frame_gray faces 1.1 2 0 | CASCADE_SCALE_IMAGE Size(30 30));
// Set Region of Interest
cv::Rect roi_b;
cv::Rect roi_c;
size_t ic = 0; // ic is index of current element
int ac = 0; // ac is area of current element
size_t ib = 0; // ib is index of biggest element
int ab = 0; // ab is area of biggest element
for (ic = 0; ic < faces.size(); ic++) // Iterate through all current elements (detected faces)
{
roi_c.x = faces[ic].x;
roi_c.y = faces[ic].y;
roi_c.width = (faces[ic].width);
roi_c.height = (faces[ic].height);
ac = roi_c.width * roi_c.height; // Get the area of current element (detected face)
roi_b.x = faces[ib].x;
roi_b.y = faces[ib].y;
roi_b.width = (faces[ib].width);
roi_b.height = (faces[ib].height);
ab = roi_b.width * roi_b.height; // Get the area of biggest element at beginning it is same as “current“ element
if (ac > ab)
{
ib = ic;
roi_b.x = faces[ib].x;
roi_b.y = faces[ib].y;
roi_b.width = (faces[ib].width);
roi_b.height = (faces[ib].height);
}
crop = frame(roi_b);
resize(crop res Size(128 128) 0 0 INTER_LINEAR); // This will be needed later while saving images
cvtColor(crop gray CV_BGR2GRAY); // Convert cropped image to Grayscale
// Form a filename
filename = ““;
stringstream ssfn;
ssfn << filenumber << “.png“;
filename = ssfn.str();
filenumber++;
// imwrite(filename gray);
Point pt1(faces[ic].x faces[ic].y); // Disp
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10261034 2016-11-27 14:53 hand.mp4
目录 0 2016-11-27 15:01 __MACOSX\
文件 263 2016-11-27 14:53 __MACOSX\._hand.mp4
文件 72462 2011-11-29 14:19 hand.xm
文件 175 2011-11-29 14:19 __MACOSX\._hand.xm
文件 4643 2016-11-27 14:55 main.cpp
文件 504 2016-11-27 14:55 __MACOSX\._main.cpp
- 上一篇:软件工程校园卡管理系统课程设计报告
- 下一篇:sph代码(美国)
相关资源
- 自己玩的动态手势识别系统
- FDC2214手势识别模块
- 使用OpenNI自带的类进行简单手势识别
- 基于OpenCV3.0的手势识别.rar
- 2018年电赛手势识别tm4c123gh6pm做的主控
- opencv实现的手势识别,石头剪刀布的
- 基于opencv的手势识别程序,亲测可用
- 2018电子竞赛手势识别FDC2214
- 2018电子设计大赛TI杯D题手势识别 全功
- Opencv静态手势识别
- PAJ7260u2手势识别传感器库文件、pcb、
- 2018年江苏省电赛手势识别题目报告和
- 基于HMM的手势识别
- 手势识别算法全部介绍
- 基于FDC2214模块的手势识别装置
- VS+OPENCV手势识别
- 红外手势识别传感器STM32代码
- TensorFlow入门:使用卷积网络模型实现
- 基于Kinect体感摄像头的手势识别算法
- opencv学习手势轮廓识别源代码
- FDC2214手势识别原理图+PCB+中文手册
- APDS9960手势识别程序源码
- 电赛D题一等奖论文
- 完整版APDS9960手势识别源码
- 手势识别竞赛项目
- stm32-手势识别
- AnyHand1.0 手势识别库
- 基于 Ki nec t 的实时手势识别
- 使用OpenCV 手势识别
- CNN手势识别
评论
共有 条评论