vc2003与vc6.0差异

vc2003与vc6.0区别?
本帖最后由 VisualEleven 于 2013-01-07 15:51:35 编辑
原来的代码是在vc2003编写的,我想改成能在vc6.0下运行,不知道都需要注意哪些?vc2003与vc6.0差异
代码如下:
int _tmain(int argc, _TCHAR* argv[])
{//声明IplImage指针
IplImage* pFrame = NULL; 
//三帧图像
IplImage* pFrame1 = NULL;
    IplImage* pFrame2 = NULL;
    IplImage* pFrame3 = NULL;
     //三帧图像相减图像
    IplImage* pFrImg1 = NULL;
    IplImage* pFrImg2 = NULL;
     //最终图像
    IplImage* pFrImg = NULL;
     //视频图像
CvCapture* pCapture = NULL;
     //帧数
int nFrmNum = 0;

//创建窗口
cvNamedWindow("video", 1);//视频
/*cvNamedWindow("background",1);*/
cvNamedWindow("foreground",1);

//使窗口有序排列
cvMoveWindow("video", 30, 0);
/*cvMoveWindow("background", 360, 0);*/
cvMoveWindow("foreground", 690, 0);

if( !(pCapture = cvCreateFileCapture("d:\\1.avi")))
{
fprintf(stderr, "Can not open video file %s\n", argv[1]);
return -2;
}

//逐帧读取视频
while(pFrame = cvQueryFrame( pCapture ))
{
nFrmNum++;

//如果是第一帧,需要申请内存,并初始化
if(nFrmNum == 1)
{   pFrame1= cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);
pFrame2= cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);
pFrame3 = cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);

pFrImg1= cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);
            pFrImg2= cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);

            pFrImg = cvCreateImage(cvSize(pFrame->width, pFrame->height),IPL_DEPTH_8U,1);
//转化成单通道图像再处理
cvCvtColor(pFrame, pFrame1, CV_BGR2GRAY);//第一帧放在背景前经图像
cvCvtColor(pFrame, pFrImg, CV_BGR2GRAY);//用作显示
            cvShowImage("video", pFrame);

}
  if (nFrmNum==2)
{  
          cvCvtColor(pFrame, pFrame2, CV_BGR2GRAY);  //第二针
  
}

if (nFrmNum>=3)
{
cvCvtColor(pFrame, pFrame3, CV_BGR2GRAY);
            cvAbsDiff(pFrame1,pFrame2,pFrImg1);
cvAbsDiff(pFrame2,pFrame3,pFrImg2);
            cvAnd(pFrImg1,pFrImg2,pFrImg);
/*pBkImg->origin=1;
pFrImg->origin=1;*/

cvFlip(pFrImg,pFrImg,0);
//二值化前景图
cvThreshold(pFrImg, pFrImg, 40, 255.0, CV_THRESH_BINARY);

//进行形态学滤波,去掉噪音  

/*cvDilate(pFrImg, pFrImg, 0, 1);
            cvErode(pFrImg, pFrImg, 0, 1);*/
cvShowImage("video", pFrame);
            
/*cvShowImage("background", pBkImg);*/