树莓派ubuntu系统使用opencv同时读取两个摄像头显示timeout

  1. 背景

树莓派安装了ubuntu mate,使用opencv读取两个摄像头时,会出现一个摄像头timeout,开始以为是树莓派问题,后来发现台式机的ubuntu也无法读取两个摄像头。

  1. 解决方法

为摄像头读取的图像格式没设置好,添加一行代码即可

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'))  # 根据摄像头像素模式修改
  1. 完整代码
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()
  1. 根据以上的,修改usb_cam的launch文件,参考:参考



  
      
        
        
        
        
        
        
        
      
  

  
      
        
        
        
        
        
        
        
      
  

  1. 上述会有警告,再次修改为uyvy即可
  GNU nano 4.8                                                                          usb_cam-test.launch


  
      
        
        
        
        
        
        
        
      
  

  
      
        
        
        
        
        
        
        
      
  



  1. 使用mobaxterm突然遇到个问题,即使用rqt、远程桌面等,都没办法显示了。

你可能感兴趣的:(笔记,opencv,ubuntu,计算机视觉)