91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 20KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: 其他
  • 標簽: OpenCV??手勢識別??

資源簡介

本源碼實現了基于攝像頭檢測手掌和拳頭的功能。 1. 源碼項目是基于VC2010,需要自行配置好OpenCV2.0以上版本環境。 2. 本源碼使用了兩個訓練文件 palm2.xml和fist2.xml, 運行前應將此兩個文件復制到D盤根目錄。

資源截圖

代碼片段和文件信息

//============================================================================
//?Name????????:?opencv_handdetect.cpp
//?Author??????:?andol?li?andol@andol.info
//?Version?????:?0.1
//?Copyright???:?2012
//?Description?:?using?haartraining?results?to?detect?the?hand?gesture?of?FIST?in?video?stream.
// ?
//============================================================================
#include?“opencv/cv.h“
#include?“opencv2/core/core.hpp“
#include?“opencv2/contrib/contrib.hpp“
#include?“opencv2/highgui/highgui.hpp“

#include?
#include?
#include?

using?namespace?cv;
using?namespace?std;
const?double?scale?=?1.1;

CvMemStorage*?storage?=?0;
CvHaarClassifierCascade*?cascadeFist?=?0;
CvHaarClassifierCascade*?cascadePalm?=?0;

void?Detect_Fist_Palm(IplImage?*input_image);
void?Detect_Fist(IplImage?*input_image);
void?fingerTip(IplImage?*img);

const?char*?cascade_nameFist?=?“d:/fist2.xml“;
const?char*?cascade_namePalm?=?“d:/palm2.xml“;
CvRect?prevRect;
vector?queueRectDetected;

int?main()
{
//1.0?api?version
CvCapture?*capture?=0;
IplImage?*frame?*frame_copy=0?*frame_copy2=?0;
cascadeFist?=?(CvHaarClassifierCascade*)cvLoad(?cascade_nameFist?0?0?0?);
cascadePalm?=?(CvHaarClassifierCascade*)cvLoad(?cascade_namePalm?0?0?0?);
if(?!cascadeFist?||??!cascade_namePalm??){
????????fprintf(?stderr?“ERROR:?Could?not?load?classifier?cascade\n“?);
????????return?-1;
}
storage?=?cvCreateMemStorage(0);
capture?=?cvCaptureFromCAM(0);
cvNamedWindow(“result“?1);

prevRect.width?=0;prevRect.height?=?0;
prevRect.x?=0;prevRect.y?=?0;

if(capture){
for(;;){
if(!cvGrabframe(capture))?break;
frame?=?cvRetrieveframe(?capture);
if(!frame)?break;

if(!frame_copy)?
frame_copy?=?cvCreateImage(cvSize(frame->width?frame->height)?IPL_DEPTH_8U?frame->nChannels);

if(frame->origin?==?IPL_ORIGIN_TL){
cvCopy(frame?frame_copy?0);
cvFlip(frame?frame_copy?1);
}else{
cvFlip(frame?frame_copy?0);
}

//開始檢測拳頭和手掌
Detect_Fist_Palm(frame_copy);

//檢測指尖
//fingerTip(frame_copy);

if(cvWaitKey(10)?>=?0)?
break;
}
cvReleaseImage(?&frame_copy?);
cvReleaseCapture(?&capture?);
}

return?0;
}

void?Detect_Fist_Palm(IplImage?*img)
{
double?scale?=?1.1;
CvPoint?pt1?pt2;
CvRect?maxRectPalm;
maxRectPalm.x?=?0;
maxRectPalm.y?=?0;
maxRectPalm.width??=?0;
maxRectPalm.height?=?0;

cvClearMemStorage(?storage?);
CvSeq*?palms?=?cvHaarDetectobjects(
img
cascadePalm
storage
scale?3?CV_HAAR_DO_CANNY_PRUNING
????????????cvSize(40?40)?);

maxRectPalm.height?=?0;
maxRectPalm.width?=?0;
for(?int?i?=?0;?i?total?:?0);?i++?)
{
CvRect*?rpalm?=?(CvRect*)cvGetSeqElem(?palms?i?);
if?(rpalm->height?>?maxRectPalm.height?)?maxRectPalm?=?*rpalm;
}

if?(?maxRectPalm.width==0?){
Detect_Fist(img);
}else{
/*pt1.x?=?maxRectPa

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-06-30?20:22??OpenCV?-?HandGesture\
?????文件???????69355??2012-08-20?21:10??OpenCV?-?HandGesture\fist2.xml
?????文件???????15872??2013-06-30?20:15??OpenCV?-?HandGesture\HelloOpenCV.suo
?????文件????????7184??2013-06-26?12:12??OpenCV?-?HandGesture\main.cpp
?????文件???????52186??2012-08-20?21:10??OpenCV?-?HandGesture\palm2.xml
?????文件?????????199??2013-06-30?20:20??OpenCV?-?HandGesture\使用說明.txt

評論

共有 條評論