基于以下文章使用

树莓派4B 安装opencv完整教程基于python3(各种错误解决)-腾讯云开发者社区-腾讯云

  • 下载opencv_4.9.0, opencv_contrib_4.9.0, 在opencv文件夹下建立编译地址

    cd opencv
    mkdir build
    cd build
    
  • 修改cmake命令

    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_EXTRA_MODULES_PATH=/home/sun/Desktop/camera/downloads/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON \
    -D WITH_LIBV4L=ON \
    -D WITH_GSTREAMER=ON \
    -D PYTHON3_EXECUTABLE=/usr/bin/python3.11 \
    -D PYTHON_INCLUDE_DIR=/usr/include/python3.11 \
    -D PYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.11.so \
    -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include \
    ..
    

    cmake结束的时候会打印出, 要安装的opencv的插件.

  • 安装

    make
    make install
    
  • 查看安装是否成功

    import cv2
    print(cv2.__version__)
    print(cv2.getBuildInformation())
    

opencv调用gstreamer

  • gstreamer代码

        gstreamer_pipeline = (
            "v4l2src device=/dev/video0 ! "
            "queue max-size-buffers=1 leaky=downstream ! "  # 将队列大小控制到1, 确保实时性
            "video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1 ! "
            "videoconvert ! "
            "appsink"
        )