在 Mac m1 中从源代码构建 opencv

Building opencv from source in Mac m1

我正在使用以下 Make 从源代码构建 OpenCV,

 cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D OPENCV_EXTRA_MODULES_PATH=/Users/Tools/opencv_contrib/modules \
  -D PYTHON3_EXECUTABLE=/miniforge/base/envs/envname/bin/python3 \
    -D BUILD_opencv_python2=OFF \
    -D BUILD_opencv_python3=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D WITH_TBB=ON \
    -D WITH_V4L=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_ENABLE_NONFREE=ON \
    -D WITH_OPENGL=ON \
     -DBUILD_ZLIB=OFF \
  -D OPENCV_EXTRA_MODULES_PATH=/Users/Tools/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

不幸的是它没有建立。它抛出以下错误,

: error: unknown type name 'AVBSFContext'; did you mean 'AVIOContext'?

我当然安装了FFmpeg。我还缺少什么?

我认为您已经安装了 ffmpeg 5,但 OpenCV 尚不兼容。请尝试以下操作:

brew install ffmpeg@4
brew unlink ffmpeg
brew link ffmpeg@4

然后重新编译OpenCV