【问题标题】:How can I remove black borders from VideoCapture?如何从 VideoCapture 中删除黑色边框?
【发布时间】:2019-11-17 12:57:18
【问题描述】:

我的问题是关于正确配置 openCV,而不是关于图像处理。我使用 VideoCapture() 获得的每一帧都包含不需要的黑色边框。

我已经尝试调整框架大小,但 openCV 只是将边框调整为新大小。

只需要这样就可以看到黑边了:

camera = cv2.VideoCapture(0)
ret, frame = camera.read()
cv2.imshow("Camera", frame)

在这里你可以看到我得到了什么

【问题讨论】:

  • 您在其他程序中是否有同样的问题?可能问题出在硬件或其配置上。
  • 尝试初始化相机以输出不同大小的帧。 OpenCV 的默认高度和宽度可能与您的相机能够支持的任何帧大小都不匹配。
  • @MarkSetchell 正如我在问题中所述,我已经尝试过了。我是这样做的: camera = cv2.VideoCapture(0) camera.set(cv2.CAP_PROP_FRAME_WIDTH, 640) camera.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) 检查后: print('Width: ' + str(camera.get( 3))) print('高度:' + str(camera.get(4)))
  • 抱歉,您的问题是您已尝试调整框架的大小,这意味着您以一种尺寸获取它们,然后将其更改为您指定要获取的不同尺寸的框架。无论如何,这不起作用,所以也许你应该告诉我们更多关于你的相机的细节,它是如何连接的,以及你使用的所有软件的操作系统和版本。
  • 我用的是笔记本相机(联想B50-70),这是Windows 8.1、PyCharm community 2018.3.6和Python 3.7

标签: python opencv camera


【解决方案1】:
camera = cv2.VideoCapture(cv2.CAP_DSHOW)

这应该会从窗口中移除边框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 2016-04-27
    • 2016-06-06
    • 2023-03-07
    相关资源
    最近更新 更多