• 大小: 3.61MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-19
  • 语言: 其他
  • 标签: opencv  帧差法  

资源简介

opencv2.4.11 实现帧差法,检测运动目标,也可使用电脑摄像头,检测运动目标。代码清晰易懂,直接运行。

资源截图

代码片段和文件信息

#include
#include “cxcore.h“  
#include




int main(int argcunsigned char* argv[])
{
   


//CvCapture* capture=cvCreateCameraCapture(0);
CvCapture* capture = cvCreateFileCapture(“out.avi“);
IplImage* frame1=NULL;
IplImage* frame2=NULL;



while(1)
{

frame1 = cvQueryframe(capture);
if(!frame1)
{
break;
}
IplImage* gray1 = cvCreateImage(cvGetSize(frame1) IPL_DEPTH_8U 1);


cvCvtColor(frame1gray1CV_BGR2GRAY);


frame2 = cvQueryframe(capture);
if(!frame2)
{
break;
}
IplImage* gray2 = cvCreateImage(cvGetSize(frame2) IPL_DEPTH_8U 1);
cvCvtColor(frame2gray2CV_BGR2GRAY);
IplImage* gray_diff = cvCreateImage(cvGetSize(gray2) IPL_DEPTH_8U 1);
cvAbsDiff(gray1gray2gray_diff);


//CvScalar t;
//for(int i=0;iheight;i++)
//{
// for(int j=0;jwidth;j++)
// {
// t=cvGet2D(gray_diffij);
// if(t.val[0]>30)
// t.val[0]=255;
// else
// t.val[0]=0;
// cvSet2D(gray_diffijt);
// }
//}
for ( int i = 0; i < gray_diff->height; ++i )
{
uchar * pucPixel = (uchar*)gray_diff->imageData + i*gray_diff->widthStep;
            for ( int j = 0; j < gray_diff->width; ++j )
{       
if(pucPixel[j]>35)
pucPixel[j]=255;
else
pucPixel[j]=0;

            }

}

IplImage *gray_diff_erode = cvCreateImage(cvGetSize(gray_diff) 8 1); 
IplImage *gray_diff_dilate = cvCreateImage(cvGetSize(gray_diff) 8 1); 

cvDilate(gray_diffgray_diff_dilate NULL1); //膨胀 
cvErode(gray_diff_dilategray_diff_erode NULL1); //腐蚀  


cvNamedWindow(“avi“);
// cvNamedWindow(“act“);

cvNamedWindow(“222“);
/*显示视频帧*/
cvShowImage(“avi“frame1);
// cvShowImage(“222“gray_diff);
cvShowImage(“222“gray_diff_erode);


char c = cvWaitKey(60);

/*退出循环*/
if(c == 27)
{
break;
}


cvReleaseImage(&gray1);
cvReleaseImage(&gray2);
cvReleaseImage(&gray_diff);
cvReleaseImage(&gray_diff_erode);
cvReleaseImage(&gray_diff_dilate);
}

cvReleaseCapture(&capture);

/*注销窗口,释放图像副本*/
cvDestroyWindow(“avi“);
cvDestroyWindow(“act“);
   
    return 0;
}

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

     文件    3787776  2016-07-06 19:10  out.avi

     文件       2253  2016-07-07 08:49  test4.cpp

----------- ---------  ---------- -----  ----

              3790029                    2


评论

共有 条评论