c++ opencv打开摄像头,1080P分辨率

#include <opencv2/opencv.hpp>
#include <iostream>
#include <time.h>
using namespace cv;
using namespace std;
 
int main()
{
 
    VideoCapture capture(-1);
    capture.set(CV_CAP_PROP_FRAME_WIDTH, 1920);
    capture.set(CV_CAP_PROP_FRAME_HEIGHT, 1080);
    capture.set(CV_CAP_PROP_FOURCC, CV_FOURCC('M', 'J', 'P', 'G'));
    // capture.set(CV_CAP_PROP_FPS, 30);//帧数

    //capture.set(CV_CAP_PROP_BRIGHTNESS, 1);//亮度 50
    //capture.set(CV_CAP_PROP_CONTRAST, 40);//对比度 50
    //capture.set(CV_CAP_PROP_SATURATION, 50);//饱和度 50
    //capture.set(CV_CAP_PROP_HUE, 50);//色调 0
    //capture.set(CV_CAP_PROP_EXPOSURE, 50);//曝光 -12
    //打印摄像头参数
    printf("width = %.2f\n", capture.get(CV_CAP_PROP_FRAME_WIDTH));
    printf("height = %.2f\n", capture.get(CV_CAP_PROP_FRAME_HEIGHT));
    printf("fbs = %.2f\n", capture.get(CV_CAP_PROP_FPS));
    printf("brightness = %.2f\n", capture.get(CV_CAP_PROP_BRIGHTNESS));
    printf("contrast = %.2f\n", capture.get(CV_CAP_PROP_CONTRAST));
    printf("saturation = %.2f\n", capture.get(CV_CAP_PROP_SATURATION));
    printf("hue = %.2f\n", capture.get(CV_CAP_PROP_HUE));
    printf("exposure = %.2f\n", capture.get(CV_CAP_PROP_EXPOSURE));
    while (1)
    {
        Mat frame;
        capture >> frame;
        imshow("读取视频", frame);
        waitKey(1);
        printf("%d\n", time(NULL));
    }
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(CameraShow)
 
if(MSVC)
  option(OpenCV_STATIC "Use static OpenCV libraries" OFF)
endif()
 
find_package(OpenCV REQUIRED)
 
include_directories(. ${OpenCV_INCLUDE_DIRS})
 
add_executable(CameraShow
               main.cpp)
target_link_libraries(CameraShow ${OpenCV_LIBS})

对于OpenCV4 版本,某些API进行了一些修改,代码应该如下:

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

int main()
{

    VideoCapture capture(-1);
    capture.set(CAP_PROP_FRAME_WIDTH, 1920);
    capture.set(CAP_PROP_FRAME_HEIGHT, 1080);
    capture.set(CAP_PROP_FOURCC, VideoWriter::fourcc('M', 'J', 'P', 'G'));
    // capture.set(CAP_PROP_FPS, 30);//帧数

    //capture.set(CAP_PROP_BRIGHTNESS, 1);//亮度 50
    //capture.set(CAP_PROP_CONTRAST, 40);//对比度 50
    //capture.set(CAP_PROP_SATURATION, 50);//饱和度 50
    //capture.set(CAP_PROP_HUE, 50);//色调 0
    //capture.set(CAP_PROP_EXPOSURE, 50);//曝光 -12
    //打印摄像头参数
    printf("width = %.2f\n", capture.get(CAP_PROP_FRAME_WIDTH));
    printf("height = %.2f\n", capture.get(CAP_PROP_FRAME_HEIGHT));
    printf("fbs = %.2f\n", capture.get(CAP_PROP_FPS));
    printf("brightness = %.2f\n", capture.get(CAP_PROP_BRIGHTNESS));
    printf("contrast = %.2f\n", capture.get(CAP_PROP_CONTRAST));
    printf("saturation = %.2f\n", capture.get(CAP_PROP_SATURATION));
    printf("hue = %.2f\n", capture.get(CAP_PROP_HUE));
    printf("exposure = %.2f\n", capture.get(CAP_PROP_EXPOSURE));
    while (1)
    {
        Mat frame;
        capture >> frame;
        imshow("读取视频", frame);
        waitKey(1);
        printf("%ld\n", time(NULL));
    }
    return 0;
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值