资源简介
一位研究生的毕业设计程序,希望对大家有用。
代码片段和文件信息
/**************************************************
* 背景建模,运动物体检测
*
**************************************************/
#include
#include
#include
#include
int main( int argc char** argv )
{
//声明IplImage指针
IplImage* pframe = NULL; //当前帧
IplImage* pImage = NULL; //当前帧
IplImage* pFrImg = NULL; //当前帧转化成的灰度图像
IplImage* pBkImg = NULL; //背景帧灰度图像
CvMat* pframeMat = NULL; //当前帧灰度图像转化成的矩阵数据
CvMat* pFrMat = NULL; //存储前景矩阵数据
CvMat* pBkMat = NULL; //背景矩阵数据
int nFrmNum = 0;
//创建窗口
cvNamedWindow(“video“ 0);
cvNamedWindow(“background“0);
cvNamedWindow(“foreground“0);
//使窗口有序排列
cvMoveWindow(“video“ 30 0);
cvMoveWindow(“background“ 360 0);
cvMoveWindow(“foreground“ 690 0);
pframe=cvLoadImage(“E:\\毕业设计\\图片\\车尾\\110.jpg“0);
// cvNamedWindow(“pframe“ 1);
// cvShowImage(“pframe“pframe);
// cvWaitKey(0);
pImage = cvCreateImage(cvGetSize(pframe)pframe->depthpframe->nChannels);
pImage->origin=pframe->origin;
//打开图片序列
for(int m=1128; ; m++)
{
char str[256];
sprintf(str “E:\\毕业设计\\图片\\车头\\110.jpg“ m);
pframe=cvLoadImage(str); //加载图片序列
if(!pframe) break;
//画出感兴趣区域
CvPoint pt1=cvPoint(490250);
CvPoint pt2=cvPoint(810250);
CvPoint pt3=cvPoint(370860);
CvPoint pt4=cvPoint(1359860);
cvLine(pframept1pt3cvScalar(00255)1);
cvLine(pframept2pt4cvScalar(00255)1);
CvScalar s;
for(int i=250;i<861;i++)
{
bool find=false;
bool end=false;
for(int j=370;jame->width;j++)
{
s=cvGet2D(pframeij); // get the (ij) pixel value
if (!find)
{
if (s.val[0]==0 && s.val[1]==0 && s.val[2]==255)
{
cvSet2D(pImageijs);//set the (ij) pixel value
//printf(“(%d%d)\n“ij);
find=true;
}
}
else if (!end)
{
cvSet2D(pImageijs);
if (s.val[0]==0 && s.val[1]==0 && s.val[2]==255)
{
//printf(“(%d%d)\n“ij);
end=true;
}
}
else break;
}
}
nFrmNum++;
//如果是第一帧,需要申请内存,并初始化
if(nFrmNum == 1)
{
pBkImg = cvCreateImage(cvSize(pframe->width pframe->height) IPL_DEPTH_8U1);
pFrImg = cvCreateImage(cvSize(pframe->width pframe->height) IPL_DEPTH_8U1);
pBkMat = cvCreateMat(pframe->height pframe->width CV_32FC1);
pFrMat = cvCreateMat(pframe->height pframe->width CV_32FC1);
pframeMat = cvCreateMat(pframe->height pframe->width CV_32FC1);
pBkImg->origin=pframe->origin;
pFrImg->origin=pframe->origin;
//转化成单通道图像再处理
cvCvtColor(pImage pBkImg CV_BGR2GRAY);
cvCvtColor(pImage pFrImg CV_BGR2GRAY);
cvConvert(pFrImg pframeMat);
cvConvert(pFrImg pFrMat);
cvConvert(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-04-17 21:05 Background\
文件 4396 2010-12-01 17:41 Background\Background.dsp
文件 545 2010-12-01 15:54 Background\Background.dsw
文件 41984 2012-04-17 21:05 Background\Background.ncb
文件 1706496 2012-04-17 21:05 Background\Background.opt
文件 1333 2012-04-17 20:06 Background\Background.plg
文件 4507 2012-04-17 21:05 Background\CarsShow.cpp
文件 3425 2012-04-01 21:41 Background\CarsShow.dsp
文件 541 2012-04-01 21:49 Background\CarsShow.dsw
文件 41984 2012-04-16 09:10 Background\CarsShow.ncb
文件 48640 2012-04-16 09:10 Background\CarsShow.opt
文件 2400 2012-04-16 09:08 Background\CarsShow.plg
目录 0 2012-04-17 20:06 Background\Debug\
文件 172097 2012-04-17 20:06 Background\Debug\Background.exe
文件 239456 2012-04-17 20:06 Background\Debug\Background.ilk
文件 4118000 2012-04-17 19:28 Background\Debug\Background.pch
文件 459776 2012-04-17 20:06 Background\Debug\Background.pdb
文件 20150 2012-04-17 20:06 Background\Debug\CarsShow.obj
文件 4118000 2012-04-01 21:42 Background\Debug\CarsShow.pch
文件 25600 2012-04-16 09:08 Background\Debug\CarsShow.pdb
文件 353280 2012-04-17 20:06 Background\Debug\vc60.idb
文件 94208 2012-04-17 20:06 Background\Debug\vc60.pdb
- 上一篇:惠普Z820工作站重装系统指南
- 下一篇:AxMath一款数学公式编辑软件
评论
共有 条评论