【问题标题】:Cannot open ip camera with opencv4.1.0-openvino on respberry pi 4无法在树莓派 4 上使用 opencv 4.1.0-openvino 打开网络摄像机
【发布时间】:2019-11-24 05:11:24
【问题描述】:

我需要使用我的树莓派 4 访问来自 AXIS M1125 网络摄像机的视频流。

我有一个代码可以在我的笔记本电脑和树莓派 3 上运行。我使用 opencv 4.1,它包含在用于 raspbian 的 openvino 发行版中。

camera = cv2.VideoCapture('http://192.168.1.38/axis-cgi/jpg/image.cgi')

当我运行代码并调试 OPENCV_VIDEOCAPTURE_DEBUG 时,输出为:

[ WARN:0] VIDEOIO(FFMPEG): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(FFMPEG): backend is not available (plugin is missing, or can't be loaded due dependencies or it is not compatible)
[ WARN:0] VIDEOIO(GSTREAMER): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
(python3:6939): GStreamer-CRITICAL **: 14:32:38.521: 
Trying to dispose element appsink0, but it is in READY instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may also be caused by a refcounting bug in the
application or some element.
...
[ WARN:0] VIDEOIO(GSTREAMER): can't create capture
[ WARN:0] VIDEOIO(V4L2): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(V4L2): can't create capture
[ WARN:0] VIDEOIO(CV_IMAGES): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(CV_IMAGES): created, isOpened=0
[ WARN:0] VIDEOIO(CV_MJPEG): trying capture filename='http://192.168.1.38/mjpg/1/video.mjpg' ...
[ WARN:0] VIDEOIO(CV_MJPEG): can't create capture

cv2.getBuildInformation() 的输出:

Platform:
    Timestamp:                   2019-03-19T16:11:44Z
    Host:                        Linux 4.13.0-45-generic x86_64
    Target:                      Linux 1 arm
    CMake:                       3.7.2
    CMake generator:             Ninja
    CMake build tool:            /usr/bin/ninja
    Configuration:               Release

Video I/O:
    FFMPEG:                      YES
      avcodec:                   YES (57.64.101)
      avformat:                  YES (57.56.101)
      avutil:                    YES (55.34.101)
      swscale:                   YES (4.2.100)
      avresample:                NO
    GStreamer:                   YES (1.10.4)
    v4l/v4l2:                    YES (linux/videodev2.h)

【问题讨论】:

    标签: opencv raspberry-pi ip-camera openvino


    【解决方案1】:

    您是否已完成所有依赖项的安装?在/opt/intel/openvino/install_dependencies 下。我还建议检查正在运行的演示应用程序,如果它正在运行并且您仍然有问题。

    【讨论】:

      【解决方案2】:

      不管OpenVINO的功能如何,OpenCV都可以处理。

      import cv2
      cap = cv2.VideoCapture("http://username:password@xxx.xxx.xxx.xxx:port/xxxx")
      #cap = cv2.VideoCapture("http://username:password@xxx.xxx.xxx.xxx:port")
      while(True):
      ret, frame = cap.read()
      cv2.imshow('frame',frame)
      if cv2.waitKey(1) & 0xFF == ord('q'):
      break
      cap.release()
      cv2.destroyAllWindows()
      

      请参考https://software.intel.com/en-us/forums/computer-vision/topic/801714

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2021-08-11
        • 1970-01-01
        • 1970-01-01
        • 2017-09-25
        • 2017-06-07
        • 2013-01-01
        • 2012-12-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多