int main(int argc, char** argv)
{
CvCapture* capture = NULL;
capture = cvCreateFileCapture( "D:/wangyu_qq/a.avi" ); //确定要读入的AVI文件;
if (!capture)
{
return -1;
}
IplImage* bgr_frame = cvQueryFrame( capture );//此函数是将下一帧视频文件载入内存;
double fps = cvGetCaptureProperty( //需要从capture中查询数据;
capture,
CV_CAP_PROP_FPS
);
CvSize size = cvSize(
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH ),
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT )
);
CvVideoWriter* writer = cvCreateVideoWriter(
"D:/wangyu_qq/test1.avi",
-1,
fps,
size
);
IplImage* logpolar_frame = cvCreateImage(
size,
IPL_DEPTH_8U,
3
);
while((bgr_frame = cvQueryFrame(capture)) != NULL)
{
cvLogPolar(bgr_frame,logpolar_frame,
cvPoint2D32f(bgr_frame->width/2,
bgr_frame->height/2),
40,
CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
cvWriteFrame( writer , logpolar_frame); //逐帧将视频流写入文件;
}
cvReleaseVideoWriter( &writer ); //写入结束后用此函数来释放资源;
cvReleaseImage( &logpolar_frame );
cvReleaseCapture( &capture );
return 0 ;
}
OpenCV中,将一个彩色视频文件以灰度格式输出
最新推荐文章于 2023-01-24 10:18:17 发布