0
点赞
收藏
分享

微信扫一扫

opencv | A02 播放本地视频 & 调用摄像头

思考的鸿毛 2022-02-22 阅读 78

前言

代码实现

1、播放本地视频

#include <opencv2\opencv.hpp>
#include <iostream>

using namespace cv; 
using namespace std;

int main(int argc, char** argv)
{
	VideoCapture cap("./image/1.mp4"); // 打开视频文件

	if (!cap.isOpened()) {
		cout << "open  video fail!" << endl;
		return -1;
	}

	cout << "widht =" << cap.get(CAP_PROP_FRAME_WIDTH) << endl;
	cout << "heigt =" << cap.get(CAP_PROP_FRAME_HEIGHT) << endl;
	cout << "FPS = "  << cap.get(CAP_PROP_FPS) << endl;

	for (;;) {
		Mat frame;
		cap >> frame;

		if (frame.empty())
			break;

		imshow("MP4", frame);
		if (waitKey(1000 / cap.get(CAP_PROP_FPS)) == 27)
			break;
	}

	waitKey(0);
	destroyAllWindows();

	return 0;
}

 

2、调用摄像头

#include <opencv2\opencv.hpp>
#include <iostream>

using namespace cv; 
using namespace std;

int main(int argc, char** argv)
{
	VideoCapture cap(0); // 打开摄像头

	if (!cap.isOpened()) {
		cout << "open  video fail!" << endl;
		return -1;
	}

	cout << "widht =" << cap.get(CAP_PROP_FRAME_WIDTH) << endl;
	cout << "heigt =" << cap.get(CAP_PROP_FRAME_HEIGHT) << endl;
	cout << "FPS = "  << cap.get(CAP_PROP_FPS) << endl;

	for (;;) {
		Mat frame;
		cap >> frame;

		if (frame.empty())
			break;

		imshow("MP4", frame);
		if (waitKey(1000 / cap.get(CAP_PROP_FPS)) == 27)
			break;
	}

	waitKey(0);
	destroyAllWindows();

	return 0;
}

 

End

1

举报

相关推荐

0 条评论