has*_*der 7 python opencv computer-vision pycharm
我是 opencv 新手,尝试通过 OpenCV python 访问 Macbook 的内置摄像头,但出现错误。
import cv2
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture(0)
cap.set(3, frameWidth)
cap.set(4, frameHeight)
cap.set(10,150)
while True:
success, img = cap.read()
cv2.imshow("Result", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
Run Code Online (Sandbox Code Playgroud)
Traceback (most recent call last):
File "/Users/hasanaktas/PycharmProjects/OpencvPython/project3.py", line 12, in <module>
cv2.imshow("Result", img)
cv2.error: OpenCV(4.2.0) /Users/travis/build/skvark/opencv-python/opencv/modules/highgui/src/window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'imshow'
Run Code Online (Sandbox Code Playgroud)
已经尝试将 VideoCapture(0) 更改为 VideoCapture(1) 并添加以下代码,但仍然没有帮助。顺便说一句,使用 PyCharm
cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)
小智 9
我在 Mac 上也遇到了同样的问题。我只是简单地替换了
cv2.VideoCapture(0)
Run Code Online (Sandbox Code Playgroud)
和
cv2.VideoCapture(1)
Run Code Online (Sandbox Code Playgroud)
奇迹般有效。
我想提两个建议。
#1:使您的终端或 PyCharm 能够访问相机。
#2而不是while True使用while cap.isOpened(),这样你就可以知道PyCharm或者terminal可以访问你的相机。
import cv2
frameWidth = 640
frameHeight = 480
cap = cv2.VideoCapture(0)
cap.set(3, frameWidth)
cap.set(4, frameHeight)
cap.set(10,150)
while cap.isOpened():
success, img = cap.read()
if success:
cv2.imshow("Result", img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16865 次 |
| 最近记录: |