【OpenCVSharp开启高清摄像头】

使用版本OpencvSharp4
在这里插入图片描述

其本质是开启DirectShow和MJPG后端来解码高清视频源,分辨率设置可以为摄像机支持的最高像素

核心代码:

            var capture = new VideoCapture(0, VideoCaptureAPIs.DSHOW);
            //https://shimat.github.io/opencvsharp_docs/html/5e5a9f7a-b360-809c-b542-799b01ac1aa2.htm
            var v = OpenCvSharp.FourCC.FromString("MJPG");
            capture.Set(VideoCaptureProperties.FourCC, v.Value);
            capture.Set(VideoCaptureProperties.FrameWidth, 1280);
            capture.Set(VideoCaptureProperties.FrameHeight, 720);

完整C#源码:链接: https://pan.baidu.com/s/1GCqGK_v2XiC4riyWQ5kxPg?pwd=xu63 提取码: xu63 复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v5的分享
在这里插入图片描述

对应的cpp版:

VideoCapture capture;
//设置摄像头参数 不要随意修改
capture.open(0, CAP_DSHOW);
capture.set(CAP_PROP_FOURCC, VideoWriter::fourcc('M', 'J', 'P', 'G'));//视频流格式
capture.set(CV_CAP_PROP_FRAME_WIDTH, 1080);//宽度 
capture.set(CV_CAP_PROP_FRAME_HEIGHT, 960);//高度
capture.set(CV_CAP_PROP_FPS, 30);//帧数
capture.set(CV_CAP_PROP_BRIGHTNESS, 1);//亮度 1
capture.set(CV_CAP_PROP_CONTRAST,40);//对比度 40
capture.set(CV_CAP_PROP_SATURATION, 50);//饱和度 50
capture.set(CV_CAP_PROP_HUE, 50);//色调 50
capture.set(CV_CAP_PROP_EXPOSURE, 50);//曝光 50

不过这个方法在Win10xAmd GPU的某些机器上可能不一定能运行,会出现黑屏,但是不报错,这个在多个Opencv的版本中发现,可以百度一下原因稀奇古怪都有,下一次,我将集成原始的DirectShow到OpencvSharp

ref:
https://www.cnblogs.com/long5683/p/9898727.html
https://blog.csdn.net/mao_hui_fei/article/details/112707910

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值