• 大小: 17.32MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-04
  • 语言: 其他
  • 标签:

资源简介

调用摄像头实时采集图像与背景图像进行差分,检测采集图像与背景图像的差别,显示有差别的图像。

资源截图

代码片段和文件信息

#include 
#include
using namespace cv;
using namespace std;
#include
#include
#include
#include

int main()
{
     IplImage* pSaveframe=NULL; 
  IplImage* src1=NULL;//加载背景图

 
     CvCapture* capture=cvCaptureFromCAM(0);
     CvVideoWriter* video=NULL;
     IplImage* frame=NULL;
    char filename[100];
char filename2[100];
char filename3[100];
char windowname2[100];
    int i=1;
    int p[3];  
    p[0] = CV_IMWRITE_JPEG_QUALITY;  
    p[1] = 10;  //质量值  
    p[2] = 0;  
 
 
    int n;
    if(!capture) //如果不能打开摄像头给出警告
    {
        cout<<“Can not open the camera.“<        return -1;
    }
    else
    {
        frame=cvQueryframe(capture); //首先取得摄像头中的一帧
        video=cvCreateVideoWriter(“camera.avi“-115 cvSize(frame->widthframe->height)); //创建CvVideoWriter对象并分配空间
        //保存的文件名为camera.avi,编码要在运行程序时选择,大小就是摄像头视频的大小,帧频率是32
        if(video) //如果能创建CvVideoWriter对象则表明成功
        {
            cout<<“VideoWriter has created.“<        }
        cvNamedWindow(“Camera Video“1); //新建一个窗口
        while(1)
        {
          
  for(i=1;i<100;i++)
  {

frame=cvQueryframe(capture); //从CvCapture中获得一帧
              
            if(!frame)
            {
                cout<<“Can not get frame from the capture.“<                break;
            }
 
 
 
 
            n=cvWriteframe(videoframe); //判断是否写入成功,如果返回的是1,表示写入成功
            cout<
            cvShowImage(“Camera Video“frame); //显示视频内容的图片
 
            pSaveframe=cvCreateImage(cvSize(frame->widthframe->height)frame->depthframe->nChannels); 
            sprintf_s(filename“采集图像\\%d.jpg“i);
          
            cvResize(framepSaveframeCV_INTER_LINEAR);  
            cvSaveImage(filenamepSaveframep);  
            cvReleaseImage(&pSaveframe); 



    sprintf(filename2“图像\\灰度运算%d.jpg“i);
sprintf(windowname2“window2%d.jpg“i);

 //对各变量命名-----------------------------------------------
 IplImage* shipin=cvLoadImage(filename1);//读取图像


 IplImage* image2=cvCreateImage(cvGetSize(shipin)IPL_DEPTH_8U1);//建立处理后的图像格式

 IplImage* image3=cvCreateImage(cvGetSize(shipin)IPL_DEPTH_8U1);



 CvMat* pGrayMat7 = NULL;    
 pGrayMat7 = cvCreateMat(shipin->height shipin->width CV_32FC1);  
  

BYTE data1;       //中间过程变量  
BYTE data2;  
BYTE data3;  
BYTE data7;  
for(int j=0; jheight; j++)  
{  
for(int i=0; iwidth; i++)  
{             
data1 = (BYTE)shipin->imageData[j*shipin->widthStep + i*3];     //B分量  
data2 = (BYTE)shipin->imageData[j*shipin->widthStep + i*3 + 1]; //G分量  
data3 = (BYTE)shipin->imageData[j*shipin->widthStep + i*3 + 2]; //R分量      
data7 = (BYTE)(0.11*data1 + 0.59*data2 + 0.30*data3);  
cvmSet(pGrayMat7 j i data7);  
}  
}  
cvConvert(pGra

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

     文件    1321984  2016-10-18 11:15  shipin2\Debug\shipin.pdb

     文件   53936128  2016-12-12 15:37  shipin2\ipch\shipin-634d39fe\shipin-945f0e31.ipch

     文件      10752  2016-12-12 16:38  shipin2\Release\shipin.exe

     文件    1010688  2016-12-12 16:38  shipin2\Release\shipin.pdb

     文件          0  2016-12-08 14:09  shipin2\shipin\camera.avi

     文件        666  2016-12-08 10:49  shipin2\shipin\Debug\cl.command.1.tlog

     文件      20230  2016-12-08 10:49  shipin2\shipin\Debug\CL.read.1.tlog

     文件        360  2016-12-08 10:49  shipin2\shipin\Debug\CL.write.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link-cvtres.read.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link-cvtres.write.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.4288.read.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.4288.write.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.5680-cvtres.read.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.5680-cvtres.write.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.5680.read.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.5680.write.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.command.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.read.1.tlog

     文件          2  2016-12-08 10:49  shipin2\shipin\Debug\link.write.1.tlog

     文件     121117  2016-12-08 10:49  shipin2\shipin\Debug\main.obj

     文件        386  2016-10-18 11:15  shipin2\shipin\Debug\mt.command.1.tlog

     文件        330  2016-10-18 11:15  shipin2\shipin\Debug\mt.read.1.tlog

     文件        330  2016-10-18 11:15  shipin2\shipin\Debug\mt.write.1.tlog

     文件        534  2016-10-18 11:15  shipin2\shipin\Debug\rc.command.1.tlog

     文件        302  2016-10-18 11:15  shipin2\shipin\Debug\rc.read.1.tlog

     文件        310  2016-10-18 11:15  shipin2\shipin\Debug\rc.write.1.tlog

     文件        406  2016-10-18 11:15  shipin2\shipin\Debug\shipin.exe.embed.manifest

     文件        472  2016-10-18 11:15  shipin2\shipin\Debug\shipin.exe.embed.manifest.res

     文件        381  2016-10-18 11:15  shipin2\shipin\Debug\shipin.exe.intermediate.manifest

     文件         65  2016-12-08 10:49  shipin2\shipin\Debug\shipin.lastbuildstate

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

评论

共有 条评论