将一个彩色视频文件以灰度格式输出,下面程序并正确实现这个功能,有待进一步测试。
// example_p31.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
int _tmain(int argc, _TCHAR* argv[])
{
CvCapture* capture = 0;
capture = cvCreateFileCapture("2.mkv");
if(!capture)
return -1;
IplImage* bgr_frame = cvQueryFrame(capture);
double fps = cvGetCaptureProperty(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("2.avi", CV_FOURCC('M','J','P','G'), 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