关
稳定内存相关
/* */
for ( i =70; i < 360 ; i++)
{
for ( j =100; j < 550; j++)
{
pStableData[i*nCStep + 3*j] = pFrame->imageData[(i+DevY)*nCStep + 3*(j+DevX)] ;
pStableData[i*nCStep + 3*j + 1] = pFrame->imageData[(i+DevY)*nCStep + 3*(j+DevX) + 1] ;
pStableData[i*nCStep + 3*j + 2] = pFrame->imageData[(i+DevY)*nCStep + 3*(j+DevX) + 2] ;
}
}
cvRectangle(pFrame, cvPoint(80, 60), cvPoint(nWidth-130, nHeight-110), CV_RGB(0,255,100), 1, 8);
// cvLine(pFrame, cvPoint(60,20), cvPoint(260,20), CV_RGB(255,0,0), 1, 8);
//窗体显示
cvSetImageROI(pFrame, cvRect(80,30,480,350));
cvSetImageROI(pStableImg, cvRect(80,60,480,320));
cvShowImage("Origin",pFrame);
cvShowImage("Stabilization",pStableImg);
cvResetImageROI(pFrame);
// cvShowImage("CHisHor",pCHisHorImg);
cvShowImage("CHisVer",pCHisVerImg);
cvZero(pCHisHorImg);
cvZero(pCHisVerImg);
//writer=cvCreateVideoWriter("out.avi",CV_FOURCC('P','I','M','1'),
// fps,cvSize(frameW,frameH),isColor);
//cvGrabFrame(capture); // capture a frame
//img=cvRetrieveFrame(capture); // retrieve the captured frame
//写视频
cvWriteToAVI( writer, pStableImg ); // add the frame to the file
char c = cvWaitKey(80);
if( c == 30 )
break;
}
// cvReleaseVideoWriter(&writer);
cvReleaseCapture( &pCapture );
cvReleaseVideoWriter( &writer );
cvDestroyAllWindows();
return 0;
}
视频稳像处理代码-C语言opencv