从摄像头中检测脸并保存图像
来源:互联网 发布:OVI浏览器java 编辑:程序博客网 时间:2024/06/05 19:38
改写自:http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html
#include "opencv2/objdetect/objdetect.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> using namespace std; using namespace cv; /** Function Headers */ void detectAndDisplay( Mat frame ); /** Global variables */ String face_cascade_name = "haarcascade_frontalface_alt.xml"; CascadeClassifier face_cascade; string window_name = "Capture - Face detection"; /** @function main */ int main( int argc, const char** argv ) { CvCapture* capture; Mat frame; //-- 1. Load the cascades if( !face_cascade.load( face_cascade_name ) ){ printf("--(!)Error loading\n"); return -1; }; //-- 2. Read the video stream capture = cvCaptureFromCAM( -1 ); if( capture ) { while( true ) { frame = cvQueryFrame( capture ); //-- 3. Apply the classifier to the frame if( !frame.empty() ) { detectAndDisplay( frame ); } else { printf(" --(!) No captured frame -- Break!"); break; } int c = waitKey(10); if( (char)c == 'c' ) { break; } } } return 0; }/** @function detectAndDisplay */void detectAndDisplay( Mat frame ){ static int index = 0; char image_name[256]; std::vector<Rect> faces; Mat frame_gray; cvtColor( frame, frame_gray, CV_BGR2GRAY ); equalizeHist( frame_gray, frame_gray ); //-- Detect faces face_cascade.detectMultiScale( frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) ); for( size_t i = 0; i < faces.size(); i++ ) { Point center( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 );rectangle(frame, faces[i], CV_RGB(0, 255,0), 1);Mat faceROI = frame_gray( faces[i] );sprintf(image_name, "frame%d_%d.jpg", index++, i);if(index <= 32){imwrite(image_name, faceROI);printf("frame %d write\n", index);} } //-- Show what you got imshow( window_name, frame ); }
0 0
- 从摄像头中检测脸并保存图像
- 从图像中检测人脸,并将人脸提取出来
- 从摄像头中检测人脸
- 从图像中截取一块并作为图像保存--OpenCV
- OpenCV实现从图像中选择矩形区域并保存
- 从图像中检测人脸
- opencv从摄像头中读取视频,并保存在本目录下
- opencv 从摄像头中读取视频并保存(c++版)
- opencv检测人脸并将检测到的人脸图像保存
- 【图像识别】 Python+Opencv调用摄像头实现人脸识别并保存视频
- OpenCv 下读取摄像头并保存成yuv图像
- Qt环境下利用OpenCV采集摄像头图像并保存
- 采用OPENCV,从一幅图像中提取部分区域,并保存为新图像。
- 采用OPENCV,从一幅图像中提取部分区域,并保存为新图像
- 采用OPENCV,从一幅图像中提取部分区域,并保存为新图像。
- 从摄像头中读取图像 OpenCV
- opencv从摄像头读取视频并实时进行人脸检测代码
- 利用opencv的detector检测并保存截取的人脸图像
- 一点心得体会,关于忙
- S3C44B0的中断模式
- 设计模式几大原则
- uva 10618 Tango Tango Insurrection (DP)WA
- Servlet的生命周期
- 从摄像头中检测脸并保存图像
- POJ 3625 Building Road(Prim)
- Vim配置 Vim+Ctags+Taglist+cscope
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- codeforces Coder
- Linux内核学习笔记之文件系统(六)
- gcc编译C程序的过程
- Power Linux 安装oracle 10g 问题
- 读书笔记:“集体智慧编程”之第三章:“发现群组”的 分级聚类