#include <highgui.h>
#include <cv.h>
#include <cxcore.h>
#include <cvaux.h>
#include <cuda_runtime.h>
#include "color2gray_cuda.h"
#define VIDEO_PATH "E:\\ADSB_tes_processedt.avi"
int main()
{
CvCapture *pCapture;
pCapture = cvCaptureFromAVI(VIDEO_PATH);
IplImage *pCurImage = cvQueryFrame(pCapture);
int iWidth = pCurImage->width;
int iHeight = pCurImage->height;
IplImage *pGrayImage = cvCreateImage(cvSize(iWidth, iHeight), IPL_DEPTH_8U, 1);
cvNamedWindow("Original Image", CV_WINDOW_AUTOSIZE);
cvNamedWindow("Gray Image", CV_WINDOW_AUTOSIZE);
int key = -1;
InitCuda();
unsigned int hTimer;
double totalTime = 0;
DWORD frameCount = 0;
while (key != 'q')
{
frameCount++;
StartTimer(&hTimer);
pCurImage = cvQueryFrame(pCapture);
caacColor2Gray(pCurImage, pGrayImage);
double gpuTime = StopTimer(hTimer);
totalTime += gpuTime;
pCurImage->origin = 1;
cvShowImage("Original Image", pCurImage);
pGrayImage->origin = 1;
cvShowImage("Gray Image", pGrayImage);
key = cvWaitKey(4);
}
printf("frameCount = %d, averageTime = %.2f ms/frame, %.2f FPS \n", frameCount, totalTime/(float)frameCount, (float)1000*frameCount/totalTime);
cvReleaseCapture(&pCapture);
cvReleaseImage(&pGrayImage);
cvDestroyWindow("Original Image");
cvDestroyWindow("Gray Image");
caacColor2GrayRelease();
return 0;
}
- 1
- 2
前往页