python - 如何更改帧分辨率opencv python

标签 python opencv resolution cameracapturetask frame-size

我是openCv的新手,我只是用python写了一个小程序来进行实时摄像机捕获。我想将以px为单位的帧大小从标准640x480更改为1280x720。我的Logitech相机具有HD分辨率(720p),所以我知道这不是相机问题...

这是代码:

import numpy as np
from time import sleep
import cv2
import time

cap = cv2.VideoCapture(0)

cap.set(3,1280)
cap.set(4,720)

sleep(2)


while(True):

    ret, s = cap.read()

    cv2.imshow('frame', s)
    if cv2.waitKey(20) & 0xFF == ord('q'):
        break


cap.release()
cv2.destroyAllWindows()

但是当我运行它时,出现此错误:
================== RESTART: C:/Users/Mattia/Desktop/fgs.py ==================

    Traceback (most recent call last):
      File "C:/Users/Mattia/Desktop/fgs.py", line 18, in <module>
        cv2.imshow('frame', s)
    cv2.error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:350: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

我正在使用python 3.6和openCv 4.0

有人能帮我吗?谢谢!

最佳答案

我发现了问题,openCV 4.0.0.21有一个错误,它无任何原因地显示了错误,我只是改用了较旧的openCV版本,所以就可以了!
卸载openCV(在Windows 10上使用CMD Administrator窗口使用Pip):

pip uninstall opencv-contrib-python
安装旧版本的命令:
pip install opencv-python==(Version you wanna install, i installed 3.1.0.5)

关于python - 如何更改帧分辨率opencv python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54522278/

相关文章:

python - 在 Mac 上构建 Python 库并遇到平面命名空间错误

python - Keras:向密集层添加一批常量输入

python - SQLAlchemy:如果搜索值为 None,则避免查询过滤器

c++ - OpenCV:如何读取 float 图像

java - 使用 OpenCV for Android 将小图像复制到相机框架中

c++ - OpenCV黑白视频空

python - 在 readthedocs.org 的本地实例上设置 Apache Solr

html - 切换分辨率时布局会发生变化

javascript - 使用 JavaScript 调整表格中图像的大小

安卓应用 : not using the full screen resolution