我正在尝试将Epiphan SDI2USB与ubuntu 18.04一起使用。我从他们的支持站点下载了正确的驱动程序,并且该驱动程序已正确安装。我的内核版本是4.15.0。
如果我尝试运行vlc,然后转到媒体菜单->打开捕获设备->视频设备名称->在这里,我既看到了/ dev / video0(集成摄像机)又看到了/ dev / video1(epiphan)视频)当我选择/ dev / video1并单击播放时,我可以看到它正常运行。
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
但是,当我从互联网上编写一个简单的python程序(我将源从0更改为1)并运行它时,却出现了错误
compass-admin@Alienware-13-R3:~$ sudo python3 cam.py
Insufficient buffer memory on /dev/video1 – decreasing buffers
Insufficient buffer memory on /dev/video1 – decreasing buffers
mmap: Invalid argument
munmap: Invalid argument
VIDEOIO ERROR: V4L: can’t open camera by index 1
munmap: Invalid argument
Traceback (most recent call last):
File “/home/compass-admin/.local/lib/python3.6/site-packages/numpy/lib/shape_base.py”, line 843, in split
len(indices_or_sections)
TypeError: object of type ‘int’ has no len()
我不知道这是由于权限还是您必须在opencv中使用特定功能。无论我做什么,都会遇到相同的错误。
我将/ dev / video1的权限更改为777,我还将当前用户添加到了视频组,但是没有运气。我还在opencv中尝试将视频源设置为0、1,-1,但是没有运气。请帮忙。