C++版OpenCV学习笔记1

C++版OpenCV学习笔记1

本篇博客为个人学习OpenCV的笔记(仅包含一些必要的内容,没有安装教程,一般也不贴全部的代码)。很可能存在错误,欢迎指正。内容是关于4小时上手C++版本OpenCV的视频的笔记,b站已有up进行搬运,b站的视频链接为: 视频.

头文件

<opencv2/imgcodecs.hpp>
<opencv2/highgui.hpp>
<opencv2/imgproc.hpp>  //图像处理的头文件

只需要以上三个头文件即可;当然在本节笔记中,其实没有全部用上

读取图像

注意:后续的代码默认使用了using namespace cv;

Mat img = imread(path);//path:string
imshow("Image", img);
waitKey(0);//延迟,0表示无限大

这里需要说明的是path是std::string类型,如果没有waitKey(),图像在显示后会立即关闭。waitKey()里的数值表示延迟多少ms,0表示无限大

读取视频

//使用while循环获取视频的每一帧图像
VideoCapture cap(path);
Mat img;
whie(true)
{
 cap.read(img);
 imshow("Image", img);
 waitKey(1);//延迟1ms;速度很快,可以加大数值来做延迟
 //结束时会报错,因为没有退出,读完就没有图片可以读取了
}

视频图像帧主要是通过VideoCapture来捕捉。

摄像头

//使用while循环获取视频的每一帧图像
VideoCapture cap(0);//相机id
Mat img;
whie(true)
{
 cap.read(img);
 imshow("Image", img);
 waitKey(1);//延迟1ms;这里设置1比较合理,再大就会有明显的延迟感
}

摄像头和导入视频十分相似,仅仅是在VedioCapture参数的差别,摄像头传入的是你相机的id,视频则是传入视频的地址。当然,当你的电脑存在多个摄像头的时候,获取对应的id可能会有一些复杂,这个日后有时间在进行补充了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值