Created
June 19, 2018 14:49
-
-
Save wakasann/9b41a5b6cb6804e26572fec3f2c561a5 to your computer and use it in GitHub Desktop.
opencv播放视频
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <opencv2/opencv.hpp> | |
using namespace std; | |
using namespace cv; | |
int main() | |
{ | |
//打开视频文件 | |
VideoCapture capture(0); //"1.mp4" | |
//isOpen判断视频是否打开成功 | |
if (!capture.isOpened()) | |
{ | |
cout << "Movie open Error" << endl; | |
return -1; | |
} | |
//获取视频帧频 | |
double rate = capture.get(CV_CAP_PROP_FPS); | |
cout << "帧率为:" << " " << rate << endl; | |
cout << "总帧数为:" << " " << capture.get(CV_CAP_PROP_FRAME_COUNT) << endl;//输出帧总数 | |
namedWindow("Movie Player"); | |
Mat frame; //定义一个Mat变量,用于存储每一帧的图像 | |
Mat edges; | |
double position = 0.0; | |
//设置播放哪一帧,这里设置为第0帧 | |
capture.set(CV_CAP_PROP_POS_FRAMES, position); | |
while (1) | |
{ | |
if (!capture.read(frame)) | |
break; | |
//将原图像转换为灰度图像 | |
cvtColor(frame, edges, COLOR_BGR2GRAY); | |
//capture >> frame; //读取当前帧 | |
//使用3 x3 内核来降噪( 2 x 3 + 1 = 7) | |
blur(edges, edges, Size(7, 7)); | |
//进行canny 边缘检测并显示 | |
Canny(edges, edges, 0, 33 , 3); | |
imshow("Movie Player", frame); | |
//imshow("Movie Player", edges); | |
char c = waitKey(33); | |
if (c == 27) | |
break; | |
//waitKey(30); | |
} | |
capture.release(); | |
destroyWindow("Movie Player"); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment