接上一篇博文(https://blog.csdn.net/weixin_46185214/article/details/105847828), 本次找到我的问题根源了

今天做截图保存的时候发现截图分辨率是640x480 ,但在截图前我是没有做任何resize的

flag, self.img0 = self.cap0.read()
cv2.imshow("capture", self.img0)
cv2.imwrite(fileName, self.img0)

是不是摄像头本身只支持640x480呢?为确定此点,先将2个摄像头(一个笔记本自带,一个USB摄像头),分辨率设为 5000 x 5000(超出摄像头本身分辨率即可),然后用get方法就可以获取摄像头支持的最大分辨率

print("CAM0 分辨率 %d x %d" % (self.cap0.get(cv2.CAP_PROP_FRAME_WIDTH),self.cap0.get(cv2.CAP_PROP_FRAME_HEIGHT)))

结果笔记本摄像头是1280x720, USB摄像头是1920x1080 ,摄像头本身没有问题。

这就说明是videoCapture时设置的分辨率没起作用,重新捋一遍代码,发现疑点。

在videoCapture时, 我加了flag来判断摄像头打开与否,那么是不是在open的时候,分辨率设置归零了呢?

flag = self.cap0.open(CamId)

于是在open()前后打印分辨率, 结果证实了我的判断, 在open() 后分辨率变成了默认的640x480 。

这就好解决了, 在open()后设置分辨率,结果一切正常。

flag = self.cap0.open(CamId)
self.cap0.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)  # 笔记本自带摄像头最大分辨率
self.cap0.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

index + cv2.CAP_DSHOW 去黑边是没问题的。 至此,问题完美解决。

[Python] OpenCV 摄像头黑边问题 - 彻底解决相关推荐

  1. [Python] OpenCV 摄像头黑边问题

    Python 3.8 + OpenCV4 + PyQt5 ,利用OpenCV打开摄像头在QLabel上显示. 代码如下: self.cap0 = cv2.VideoCapture() self.cap ...

  2. python打开摄像头黑屏怎么办_临时解决pygame启动时黑屏问题

    直接上代码: import pygame import sys pygame.init() screen = pygame.display.set_mode((10,10),0) screen = p ...

  3. opencv摄像头速度慢_为什么在Ubuntu中Python OpenCV摄像头的读取速度比Windows慢?

    我有一个非常简单的代码,可以从网络摄像头(Microsoft HD LifeCam Studio)查看视频,如下所示:import cv2 from imutils.video import FPS ...

  4. python opencv 摄像头_python+opencv实现摄像头调用的方法

    最近入了一块树莓派,想让其实现摄像头的调用,因此写下此博客备忘 一.树莓派网络的配置 首先,对树莓派进行网络配置,否则就无法进行软件的安装 我们知道,ifconfig命令可以修改ip地址.子网掩码等信 ...

  5. python opencv 摄像头标定_(五)单目摄像头标定与畸变矫正(C++,opencv)

    本文将梳理一种单目摄像头标定和矫正的方法,在梳理的过程中,首先使用网上离线的图片数据跑通流程,然后接入自己的camera,手动采集标定图像,实时矫正相机的畸变,然后输出矫正后的图像.全文基于Openc ...

  6. python opencv 摄像头_opencv python中摄像头参数的设置

    我正在使用Windows7 64位操作系统以及Python3和OpenCV.我的电脑连接到以下型号的两个罗技网络摄像头: 1)罗技高清网络摄像头C615 2) 罗技QuickCam Pro 9000 ...

  7. python opencv 摄像头亮度_Python 下opencv 应用: 摄像头参数设置

    为了取得好的图片效果,我们需要设置摄像头的参数. 假如摄像流为 cap, 那么设置参数是cap.set(参数编号,参数) 获取参数值的函数是  cap.get(参数编号) 看一段摄像头参数设置读取的例 ...

  8. python+opencv摄像头人脸检测+代码注释

    比较简单直接上代码: #导入模块 import cv2 #摄像头 cap=cv2.VideoCapture('1.mp4')falg = 1 num = 1while(cap.isOpened()): ...

  9. python+opencv+selenium自动化登录邮箱并解决滑动验证

    前言 大家做自动化登录时可能都遇到过滑块验证码需要手动验证的问题,这次我们就来解决他 如下:   在我们做自动化登录时,总会遇到各种奇奇怪怪的验证码,滑块验证码就是其中最常见的一种.若我们的程序自动输 ...

最新文章

  1. $state 新标签页
  2. 1004 Counting Leaves (30 分)【难度: 中 / 知识点: 树的遍历】
  3. python中while循环_Python第12课:while循环案例 打印输出有规律的造型
  4. Kafka消息投递语义-消息不丢失,不重复,不丢不重
  5. typedef和函数指针定义
  6. GIS实战应用案例100篇(七)-基于GIS和ENVI的矢量化提取水体边界
  7. 【iOS-Cocos2d游戏开发之二十一 】自定义精灵类并为你的精灵设置攻击帧以及动画创建!【二】...
  8. Fiddler笔记(4)浏览器抓包
  9. 游戏必备组件有哪些_微信广告将升级小程序、小游戏开发者收入方案
  10. 软件工程_三层架构介绍
  11. windows下Navicat 过期如何解决
  12. Ae 效果详解:CC Grid Wipe
  13. 802.11ac深度技术分析
  14. LeetCode Relative Ranks
  15. 合并的表格怎么加横线_如何在excel中文字后面加横线
  16. 计算机类sci中接受综述么,SCI期刊接受的5大类型文章
  17. maya2018界面菜单充满屏幕无法恢复解决方法
  18. 中国有多少个省,多少个直辖市,多少个特别行政区,多少个自治区
  19. 设计模式-开闭原则(6)
  20. 盘点 DevOps 世界的杰出女性(一)

热门文章

  1. 建模学习是个持之以恒的过程,一步一个脚印,才能真正的学到知识
  2. 将图片放大不失真,保持清晰度不变的方法
  3. 2011年7月编程语言排行榜,Objective-C将成为年度语言
  4. openssl之EVP系列之5---EVP_Encrypt系列函数具体解释(二)
  5. TSINGSEE青犀视频使用Vue.js搭建前端启动后共享屏幕无法获取音视频流问题解决
  6. ASP.NET债务管理系统源码
  7. 微信小程序openid和unionid区别
  8. 微服务架构 | 如何利用好日志链路追踪做性能分析?
  9. Saturn的系统架构
  10. Windows注册表,如何修改