- #include <cv.h>
- #include <highgui.h>
- int main()
- {
- IplImage *pFrame = NULL;
- IplImage *pGrayImg = NULL;
- IplImage *pFGImg = NULL;
- IplImage *pBGImg_8U = NULL;
- IplImage *pBGImg_32F = NULL;
- IplConvKernel * pKernel = NULL;
- CvCapture *pCapture = cvCreateCameraCapture(1);
- cvNamedWindow("webcam", 1);
- cvNamedWindow("background", 1);
- cvNamedWindow("foreground", 1);
- pKernel = cvCreateStructuringElementEx( 5, 3, 0,0
- , CV_SHAPE_ELLIPSE, NULL);
- if(!(pFrame = cvQueryFrame(pCapture)))
- {
- fprintf(stderr, "Can not open");
- return -1;
- }
- else
- {
- pGrayImg = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 1);
- pFGImg = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 1);
- pBGImg_8U = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 1);
- pBGImg_32F = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_32F, 1);
- cvCvtColor(pFrame, pGrayImg, CV_BGR2GRAY);
2014年4月3日 星期四
Build background with cvRunningAvg
Background Subtraction Using Mask
- #include <highgui.h>
- #include <cv.h>
- int main()
- {
- IplImage* pFrame=0;
- IplImage* pGrayImg=0;
- IplImage* pFGImg=0;
- IplImage* pBGImg=0;
- IplImage* pBGImg_Gray=0;
- IplImage* temp=0;
- CvCapture* cap = cvCreateCameraCapture(1);
- if(!(pFrame = cvQueryFrame(cap))) return -1;
- else
- {
- pFGImg = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 3);
- pGrayImg = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 1);
- temp = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 1);
- pBGImg_Gray = cvCreateImage(cvGetSize(pFrame), IPL_DEPTH_8U, 1);
- pBGImg = cvCloneImage(pFrame);
- }
- while(1){
- pFrame=cvQueryFrame(cap);
- cvShowImage("present",pFrame);
- cvShowImage("background",pBGImg);
- cvCvtColor(pFrame, pGrayImg, CV_BGR2GRAY);
- cvCvtColor(pBGImg, pBGImg_Gray, CV_BGR2GRAY);
- cvAbsDiff(pGrayImg, pBGImg_Gray, temp);
- cvThreshold(temp, temp, 40, 255, CV_THRESH_BINARY);
- cvZero(pFGImg);
- cvCopy(pFrame, pFGImg, temp);
- cvShowImage("foreground", pFGImg);
- int key=cvWaitKey(1);
- if(key==27)break;
- if(key=='b') cvCopyImage(pFrame, pBGImg);
- }
- cvReleaseCapture(&cap);
- }
訂閱:
文章 (Atom)