我是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
有人可以帮助我吗?谢谢!
答案 0 :(得分:0)
我发现了问题,openCV // Create.
unsigned const N = 100;
std::unique_ptr<std::atomic<int>[]> p(new std::atomic<int>[N]);
// Initialize.
for(unsigned i = 0; i < N; ++i)
p[i].store(0, std::memory_order_relaxed);
// Atomically increment.
auto unpredictable_index = std::rand() % N;
int old = p[unpredictable_index].fetch_add(1, std::memory_order_relaxed);
被bug了,它没有任何原因地显示了错误,我只是改用了较旧的openCv版本,所以就可以了!
要卸载openCv(在Windows 10上使用Cip Administrator窗口,使用Pip):
4.0.0.21
安装旧版本的命令:
pip uninstall opencv-contrib-python
谢谢!
希望对遇到同样问题的其他人有所帮助!