资源简介

说明: http://blog.csdn.net/wangyaninglm/article/details/50396978

资源截图

代码片段和文件信息

// getheader.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“

#include “opencv2/objdetect/objdetect.hpp“
#include “opencv2/highgui/highgui.hpp“
#include “opencv2/imgproc/imgproc.hpp“

#include 
#include 

using namespace std;
using namespace cv;


#pragma comment(lib“opencv_core2410d.lib“)                
#pragma comment(lib“opencv_highgui2410d.lib“)                
#pragma comment(lib“opencv_objdetect2410d.lib“)   
#pragma comment(lib“opencv_imgproc2410d.lib“)  

/** Function Headers */
void detectAndDisplay( Mat frame );

/** Global variables */
//-- Note either copy these two files from opencv/data/haarscascades to your current folder or change these locations
String face_cascade_name = “D:\\Program Files\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt.xml“;
String eyes_cascade_name = “D:\\Program Files\\opencv\\sources\\data\\haarcascades\\haarcascade_eye_tree_eyeglasses.xml“;
CascadeClassifier face_cascade;
CascadeClassifier eyes_cascade;
string window_name = “Capture - Face detection“;
RNG rng(12345);

const int frame_WIDTH = 1280;
const int frame_HEIGHT = 240;
/**
* @function main
*/
int main( void )
{
CvCapture* capture;
//VideoCapture capture;
Mat frame;

//-- 1. Load the cascades
if( !face_cascade.load( face_cascade_name ) ){ printf(“--(!)Error loading\n“); return -1; };
if( !eyes_cascade.load( eyes_cascade_name ) ){ printf(“--(!)Error loading\n“); return -1; };

// frame = imread(“19.jpg“);//背景图片


VideoCapture cap(0); //打开默认的摄像头号
if(!cap.isOpened())  //检测是否打开成功
return -1;

Mat edges;
//namedWindow(“edges“1);
for(;;)
{
Mat frame;
cap >> frame; // 从摄像头中获取新的一帧
detectAndDisplay( frame );
//imshow(“edges“ frame);
if(waitKey(30) >= 0) break;
}
//摄像头会在VideoCapture的析构函数中释放
waitKey(0);

return 0;
}

void mapToMat(const cv::Mat &srcAlpha cv::Mat &dest int x int y)
{
int nc = 3;
int alpha = 0;

for (int j = 0; j < srcAlpha.rows; j++)
{
for (int i = 0; i < srcAlpha.cols*3; i += 3)
{
alpha = srcAlpha.ptr(j)[i / 3*4 + 3];
//alpha = 255-alpha;
if(alpha != 0) //4通道图像的alpha判断
{
for (int k = 0; k < 3; k++)
{
// if (src1.ptr(j)[i / nc*nc + k] != 0)
if( (j+y < dest.rows) && (j+y>=0) &&
((i+x*3) / 3*3 + k < dest.cols*3) && ((i+x*3) / 3*3 + k >= 0) &&
(i/nc*4 + k < srcAlpha.cols*4) && (i/nc*4 + k >=0) )
{
dest.ptr(j+y)[(i+x*nc) / nc*nc + k] = srcAlpha.ptr(j)[(i) / nc*4 + k];
}
}
}
}
}
}

/**
* @function detectAndDisplay
*/
void detectAndDisplay( Mat frame )
{
std::vector faces;
Mat frame_gray;
Mat hatAlpha;

hatAlpha = imread(“2.png“-1);//圣诞帽的图片

cvtColor( frame frame_gray COLOR_BGR2GRAY );
equalizeHist( frame_gray frame_gray );
//-- Detect faces
face_cascade.detectMultiScale( frame_gray faces 1.1 2 0|CV_HAAR_SCALE_IM

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      70656  2015-12-26 21:55  getheader\Debug\getheader.exe

     文件     489672  2015-12-26 21:55  getheader\Debug\getheader.ilk

     文件    1346560  2015-12-26 21:55  getheader\Debug\getheader.pdb

     文件      61713  2015-12-10 15:59  getheader\getheader\1.jpg

     文件      28543  2015-12-24 20:59  getheader\getheader\11.jpg

     文件      22693  2015-12-24 21:01  getheader\getheader\12.jpg

     文件      64792  2015-12-24 21:02  getheader\getheader\13.jpg

     文件      22332  2015-12-24 21:11  getheader\getheader\14.jpg

     文件      24225  2015-12-24 21:11  getheader\getheader\15.jpg

     文件      23410  2015-12-24 21:17  getheader\getheader\16.jpg

     文件      21665  2015-12-24 21:20  getheader\getheader\17.jpg

     文件      33731  2015-12-24 21:20  getheader\getheader\18.jpg

     文件      48267  2015-12-24 21:24  getheader\getheader\19.jpg

     文件      95332  2015-12-24 19:56  getheader\getheader\2.jpg

     文件      94163  2015-12-24 11:09  getheader\getheader\2.png

     文件      64555  2015-12-24 19:56  getheader\getheader\3.jpg

     文件      86984  2015-12-24 11:09  getheader\getheader\3.png

     文件     103699  2015-12-24 19:56  getheader\getheader\4.jpg

     文件      41447  2015-12-24 19:56  getheader\getheader\5.jpg

     文件      36968  2015-12-24 19:56  getheader\getheader\6.jpg

     文件     368872  2015-12-24 19:56  getheader\getheader\7.jpg

     文件      66957  2015-12-24 20:54  getheader\getheader\9.jpg

     文件       1434  2015-12-26 21:55  getheader\getheader\Debug\cl.command.1.tlog

     文件      16148  2015-12-26 21:55  getheader\getheader\Debug\CL.read.1.tlog

     文件        738  2015-12-26 21:55  getheader\getheader\Debug\CL.write.1.tlog

     文件        406  2015-12-24 11:07  getheader\getheader\Debug\getheader.exe.embed.manifest

     文件        472  2015-12-24 11:07  getheader\getheader\Debug\getheader.exe.embed.manifest.res

     文件        381  2015-12-26 21:55  getheader\getheader\Debug\getheader.exe.intermediate.manifest

     文件         52  2015-12-26 21:55  getheader\getheader\Debug\getheader.lastbuildstate

     文件       2496  2015-12-26 21:55  getheader\getheader\Debug\getheader.log

............此处省略100个文件信息

评论

共有 条评论