Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改opencv python的帧分辨率_Python_Opencv_Resolution_Cameracapturetask_Frame Size - Fatal编程技术网

如何更改opencv python的帧分辨率

如何更改opencv python的帧分辨率,python,opencv,resolution,cameracapturetask,frame-size,Python,Opencv,Resolution,Cameracapturetask,Frame Size,我是openCv的新手,我刚刚用python编写了一个用于实时相机捕获的小程序。我想将像素中的帧大小从标准的640x480更改为1280x720。我的罗技相机有高清分辨率(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) wh

我是openCv的新手,我刚刚用python编写了一个用于实时相机捕获的小程序。我想将像素中的帧大小从标准的640x480更改为1280x720。我的罗技相机有高清分辨率(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'
======================重新启动:C:/Users/Mattia/Desktop/fgs.py==================
回溯(最近一次呼叫最后一次):
文件“C:/Users/Mattia/Desktop/fgs.py”,第18行,在
cv2.imshow('帧',s)
cv2.error:OpenCV(4.0.0)C:\projects\OpenCV python\OpenCV\modules\highgui\src\window.cpp:350:错误:(-215:断言失败)函数“cv::imshow”中的size.width>0和size.height>0
我正在使用python 3.6和openCv 4.0


有人能帮我吗?谢谢

我发现了问题,openCV
4.0.0.21
有一个bug,它只是无缘无故地显示错误,我只是换了一个旧的openCV版本,它就工作了

要卸载openCV(使用Pip,在Windows 10上,使用CMD管理员窗口),请执行以下操作:

安装旧版本的命令:

pip install opencv-python==(Version you wanna install, i installed 3.1.0.5)

是否
ret
False
,但在这种情况下,您仍试图将
s
显示为图像?如果
ret
False
,您是否尝试过
continue
ing?是的,我尝试过,如果我删除
cap.set(31280)cap.set(4720)
,代码会以任何方式工作。谢谢你的回答,顺便说一句@Mattiapeireti所以。。。你还有问题吗?是的,我有。因为我需要更改分辨率,480p(默认值)太低。。因此,我需要找到一种方法,让它720pTry安装v4l2 utils
sudo apt get install v4l utils
并运行
v4l2 ctl--list formats ext
,以检查支持的分辨率。
pip install opencv-python==(Version you wanna install, i installed 3.1.0.5)