opencv获取外接摄像头_OpenCV VideoCapture 设置和获取摄像头参数

1 /**2 @brief OpenCV摄像头和视频属性操作3 @author xiaolei4 @copyright -5 @version 1.06 @data 2019/10/127 @note -8 */

9 #include

10 #include "opencv2/opencv.hpp"

11

12 using namespacestd;13 using namespacecv;14

15 const string window_name = "用户界面";16

17 #define USE_CAMERA

18 //#define USE_VIDEO

19

20 intmain()21 {22 Mat frame;23

24 double brightness = 0; //亮度

25 double contrast = 0; //对比度

26 double saturation = 0; //饱和度

27 double hue = 0; //色调

28 double gain = 0; //增益

29 double exposure = 0; //曝光

30 double white_balance = 0; //白平衡

31

32 double pos_msec = 0; //当前视频位置(ms)

33 double pos_frame = 0; //从0开始下一帧的索引

34 double pos_avi_ratio = 0; //视频中的相对位置(范围为0.0到1.0)

35 double frame_width = 0; //视频帧的像素宽度

36 double frame_height = 0; //视频帧的像素高度

37 double fps = 0; //帧速率

38 double frame_count = 0; //视频总帧数

39 double video_duration = 0.00; //视频时长

40 double format = 0; //格式

41

42 #ifdef USE_VIDEO43 const string file_name = "201910915314.avi";44 VideoCapture capture(file_name);45

46 frame_width = capture.get(cv::CAP_PROP_FRAME_WIDTH);47 frame_height = capture.get(cv::CAP_PROP_FRAME_HEIGHT);48 fps = capture.get(cv::CAP_PROP_FPS);49 frame_count = capture.get(cv::CAP_PROP_FRAME_COUNT);50 format = capture.get(cv::CAP_PROP_FORMAT);51 pos_avi_ratio = capture.get(cv::CAP_PROP_POS_AVI_RATIO);52 video_duration = frame_count /fps;53

54 cout << "---------------------------------------------" <

64

65 #ifdef USE_CAMERA66 VideoCapture capture(0);67 brightness = capture.get(cv::CAP_PROP_BRIGHTNESS);68 contrast= capture.get(cv::CAP_PROP_CONTRAST);69 saturation = capture.get(cv::CAP_PROP_SATURATION);70 hue = capture.get(cv::CAP_PROP_HUE);71 gain = capture.get(cv::CAP_PROP_GAIN);72 exposure = capture.get(cv::CAP_PROP_EXPOSURE);73 white_balance = capture.get(cv::CAP_PROP_WHITE_BALANCE_BLUE_U);74

75 std::cout << "---------------------------------------------" <

85

86 namedWindow(window_name,WINDOW_AUTOSIZE);87 while(capture.isOpened())88 {89 capture >>frame;90

91 #ifdef USE_VIDEO92 pos_msec = capture.get(cv::CAP_PROP_POS_MSEC);93 pos_frame = capture.get(cv::CAP_PROP_POS_FRAMES);94 pos_avi_ratio = capture.get(cv::CAP_PROP_POS_AVI_RATIO);95 cout << "---------------------------------------------" <

101

102 imshow(window_name, frame);103 if (waitKey(60)==27)104 {105 break;106 }107 }108 capture.release();109 destroyAllWindows();110 return 0;111 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值