前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >"眼睛成长记"(四)---看我所想

"眼睛成长记"(四)---看我所想

作者头像
视界音你而不同
发布2020-04-10 14:30:19
3360
发布2020-04-10 14:30:19
举报
文章被收录于专栏:用户1692782的专栏
在日常的开发过程中,我们往往会有这样的需求,我们需要获取视频相关的一些属性,比如width, height或帧率等信息。OpenCV在使用VideoCapture打开视频之后,同样也提供了这样的方法----get,今天一起来学习下:

get

原型: CV_WRAP virtual double get(int propId) const

说明:

参数: propId, 用一个枚举值来表示,标识想要获取的属性的类型。

返回值:返回你想要的结果。

几个经常获取的属性:

CAP_PROP_FRAME_WIDTH:视频帧的宽度

CAP_PROP_FRAME_HEIGHT :视频帧的高度

CAP_PROP_FPS:视频帧率(fps)

CAP_PROP_FRAME_COUNT : 一个视频中帧的总数

CAP_PROP_BRIGHTNESS :图像亮度(针对支持这一特性的相机)

CAP_PROP_CONTRAST: 对比度(针对相机)

CAP_PROP_SATURATION: 饱和度 (针对相机)

。。。。。

代码演示

代码语言:javascript
复制
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
 VideoCapture cam(0);
 if (!cam.isOpened()) {
 cout << " cam open failed " << endl;
 getchar();
 return -1;
 }
 cout << " cam open success. " << endl;
 int fps = cam.get(CAP_PROP_FPS);
 int width = cam.get(CAP_PROP_FRAME_WIDTH);
 int height = cam.get(CAP_PROP_FRAME_HEIGHT);
 int brightness = cam.get(CAP_PROP_BRIGHTNESS);
 int contrast = cam.get(CAP_PROP_CONTRAST);
 int saturation = cam.get(CAP_PROP_SATURATION);
 cout << "fps: " << fps << endl;
 cout << "width: " << width << endl;
 cout << "height" << height << endl;
 cout << "brightness" << brightness << endl;
 cout << "contrast" << contrast << endl;
 cout << "saturation" << saturation << endl;
 return 0;
}

说明

(1)演示代码中代开的视频设备是摄像头;

(2)摄像头打开后获取的fps为0,如果打开的是视频文件,就能获取视频的fps;、

(3)获取了摄像头的亮度,对比度和饱和度,如果打开的是视频文件,则不会有这些信息哦。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 视界音你而不同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档