Skip to content

Instantly share code, notes, and snippets.

@wakasann
Created June 19, 2018 14:49
Show Gist options
  • Save wakasann/9b41a5b6cb6804e26572fec3f2c561a5 to your computer and use it in GitHub Desktop.
Save wakasann/9b41a5b6cb6804e26572fec3f2c561a5 to your computer and use it in GitHub Desktop.
opencv播放视频
#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