- 背景
树莓派安装了ubuntu mate,使用opencv读取两个摄像头时,会出现一个摄像头timeout,开始以为是树莓派问题,后来发现台式机的ubuntu也无法读取两个摄像头。
- 解决方法
为摄像头读取的图像格式没设置好,添加一行代码即可
cap.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc('M','J','P','G'))
# cap.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc('U','Y','V','Y')) # 根据摄像头像素模式修改
- 完整代码
import cv2
import numpy
# 读取视频流并显示
cap = cv2.VideoCapture(0) #调整参数实现读取视频或调用摄像头
cap.set(cv2.CAP_PROP_FOURCC,cv2.VideoWriter_fourcc('M','J','P','G'))
while 1:
ret, frame = cap.read()
# cv2.imshow("cap", frame)
# if cv2.waitKey(100) & 0xff == ord('q'):
# break
print('cap1')
cap.release()
#cv2.destroyAllWindows()
- 根据以上的,修改usb_cam的launch文件,参考:参考
- 上述会有警告,再次修改为uyvy即可
GNU nano 4.8 usb_cam-test.launch
- 使用mobaxterm突然遇到个问题,即使用rqt、远程桌面等,都没办法显示了。



