1 | #include <iostream>
|
2 | #include <Windows.h>
|
3 | #include "opencv2/highgui/highgui.hpp"
|
4 | #include "opencv/cv.h"
|
5 |
|
6 | |
7 | #pragma comment(lib, "D:\\dls\\trunk\\dlf\\pc\\lib\\opencv_highgui249.lib")
|
8 | #pragma comment(lib, "D:\\dls\\trunk\\dlf\\pc\\lib\\opencv_imgproc249.lib")*/
|
9 |
|
10 | using namespace std;
|
11 |
|
12 | int main(int iArgc, char **ppcArgv) {
|
13 | cvNamedWindow("Video Player");
|
14 | CvCapture *psCvCapture = NULL;
|
15 |
|
16 | if (2 != iArgc) {
|
17 | return 0;
|
18 | }
|
19 | else {
|
20 | psCvCapture = cvCreateFileCapture(ppcArgv[1]);
|
21 | }
|
22 | assert(NULL != psCvCapture);
|
23 |
|
24 | IplImage *psImageFrame = NULL;
|
25 | IplImage *psImageGray = NULL;
|
26 | IplImage *psImageScaled = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);
|
27 | char cKeyCode;
|
28 |
|
29 |
|
30 | while ((cKeyCode = cvWaitKey(40))) {
|
31 | if (cKeyCode == 27) {
|
32 | break;
|
33 | }
|
34 |
|
35 | psImageFrame = cvQueryFrame(psCvCapture);
|
36 | if (NULL == psImageFrame) {
|
37 | break;
|
38 | }
|
39 | psImageGray = cvCreateImage(cvGetSize(psImageFrame), psImageFrame->depth, 1);
|
40 | cvCvtColor(psImageFrame, psImageGray, CV_BGR2GRAY);
|
41 | cvResize(psImageGray, psImageScaled, CV_INTER_LINEAR);
|
42 | if (NULL == psImageScaled) {
|
43 | break;
|
44 | }
|
45 | cvShowImage("Video Player", psImageScaled);
|
46 | }
|
47 |
|
48 | cvReleaseCapture(&psCvCapture);
|
49 | cvReleaseImage(&psImageGray);
|
50 | cvReleaseImage(&psImageScaled);
|
51 | cvDestroyAllWindows();
|
52 | return 0;
|
53 | }
|