博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法
阅读量:4047 次
发布时间:2019-05-25

本文共 831 字,大约阅读时间需要 2 分钟。

Opencv 3.4.2 +VS2015用摄像头采集图片并更改分辨率出现黑边的解决办法

CSDN中已经有相当部分的博客写了如何利用OpenCV通过摄像头获取并保存图片,此处不再赘述。我遇到的问题是利用OpenCV的属性设置没有办法改变摄像头采集图片的分辨率

1.配置VS2013+OpenCV3.0.0

VideoCapture cap(0);if (!cap.isOpened())		return -1;cap.set(CV_CAP_PROP_FRAME_WIDTH, 1280);cap.set(CV_CAP_PROP_FRAME_HEIGHT, 720);

通过上述代码就能够打开摄像头“0”,并将显示的照片尺寸设定为:1280 x 720

2.配置VS2015+OpenCV3.4.2

我将上述代码移植到VS2015+OpenCV3.4.2上发现,无论怎么设置尺寸,输出的照片如下:
在这里插入图片描述
整个照片还是1280 x 720 ,但是始终会有黑色边框填充,并报如下错误:

[ INFO:0] VIDEOIO: Enabled backends(5, sorted by priority): FFMPEG(1000); MSMF(990); DSHOW(980); CV_IMAGES(970); CV_MJPEG(960)

经过查找大量资料和方法,最后在Google上找到如下方法:

VideoCapture cap(0 + cv::CAP_DSHOW);cap.open(0 + cv::CAP_DSHOW);if (!cap.isOpened())  return -1; cap.set(CV_CAP_PROP_FRAME_WIDTH, 1280);cap.set(CV_CAP_PROP_FRAME_HEIGHT, 720);

在这里插入图片描述

虽然还是会报如上错误,但是照片输出正常了。具体原因不知道,欢迎留言补充。
一天后:在release下就不会报错,完美运行。

转载地址:http://ltyci.baihongyu.com/

你可能感兴趣的文章
机器学习SVM的车牌识别系统—计算机专业课程设计(毕业设计)
查看>>
leetcode 80. 删除有序数组中的重复项 II
查看>>
课程设计(毕业设计)—学生宿舍管理系统—计算机类专业
查看>>
毕业设计(课程设计)—SpringBoot网上订餐系统的设计与实现—计算机类专业课程设计(毕业设计)
查看>>
毕业设计(课程设计)—个人博客系统(微博)的设计与实现—计算机类专业课程设计(毕业设计)
查看>>
牛客(中兴捧月)—B-切绳子
查看>>
剑指Offer 13.机器人的运动范围——DFS和BFS
查看>>
Java中GUI编程总结—AWT中的Frame容器、panel面板、布局管理
查看>>
剑指offer12.矩阵中的路径—DFS+剪枝
查看>>
Java中GUI编程总结—事件监听、TextField监听、画笔、(鼠标、窗口、键盘)监听
查看>>
Java中GUI编程总结—Swing(窗口、面板、弹窗、标签、按钮、列表、文本框)
查看>>
Java中map容器分别根据键key和值value进行排序的总结
查看>>
剑指offer面试题16. 数值的整数次方——快速幂
查看>>
剑指 Offer 39. 数组中出现次数超过一半的数字——摩尔投票法
查看>>
python中SQLite3 数据库语句使用总结——增删改查
查看>>
Java网络编程总结
查看>>
leetcode 477. 汉明距离总和——超出时间限制
查看>>
基于SSM校园二手交易市场系统——课程设计(毕业设计)
查看>>
leetcode 1882.使用服务器处理任务——优先队列
查看>>
leetcode 523.连续的子数组的和——前缀和+哈希表
查看>>