OpenCV——图像与视频的读取

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;

//显示图像
void Test01()
{
	Mat img;										//创建 Mat 类,储存目标图像
	string path("D:\\TYW\\OpenCV\\HappyFish.jpg");	//目标图像文件路径
	img = imread(path);								//读取目标图像
	imshow("fish", img);							//显示目标图像
	waitKey(0);										//设置图像刷新延时

}

//显示视频
void Test02()
{
	Mat img;									//创建 Mat 类,储存目标图像
	string path("D:\\TYW\\OpenCV\\12.mp4");		//目标视频文件路径
	VideoCapture cap(path);						//创建 VideoCapture 类对象,储存视频文件
	namedWindow("视频", 0);						//创建可调节显示窗口
	while (true)		//循环结构,循环显示视频每一帧画面
	{
		cap.read(img);	//读取每一帧画面

		//对视频读取时,判空操作
		if (img.empty())
		{
			break;
		}

		imshow("视频", img);	//显示视频
		waitKey(20);			//设置图像刷新延时
	}
	cap.release();				//释放视频内存空间

}

//显示摄像头
void Test03()
{
	Mat img;									//创建 Mat 类,储存目标图像
	VideoCapture cap(0);						//创建 VideoCapture 类对象,储存摄像头捕捉的画面
	if (!cap.isOpened())
	{
		cout << "没有打开摄像头" << endl;
		return;
	}

	namedWindow("摄像头", 0);					//创建可调节显示窗口
	while (true)		//循环结构,循环显示摄像头捕捉的每一帧画面
	{
		cap.read(img);	//读取每一帧画面

		//对摄像头读取时,判空操作
		if (img.empty())
		{
			break;
		}

		imshow("摄像头", img);	//显示摄像头捕捉的画面
		
		if (waitKey(1) == 'q')	//按键盘上的 q 键退出
		{
			break;
		}

	}
	cap.release();				//释放摄像头内存空间
	destroyAllWindows();

}


int main()
{
	Test03();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值