使用 vcpkg.json 安装 opencv4[contrib]

问题描述 投票:0回答:1

在 vcpkg.json 我有

{
  "dependencies": [ "fmt", "opencv4"]
}

当我在 qtcreator 上打开相应的 cmake 项目时,查看 General Messages 选项卡,我看到

[cmake] Running /Users/user/Qt/Tools/CMake/CMake.app/Contents/bin/cmake -S /Users/user/2024/Projecs/opencv2 -B /Users/user/2024/Projecs/opencv2/build in /Users/user/2024/Projecs/opencv2/build.
[cmake] -- Running vcpkg install
[cmake] Detecting compiler hash for triplet arm64-osx...
[cmake] The following packages will be built and installed:
[cmake]   * flatbuffers:[email protected]#1
[cmake]     fmt:[email protected]
[cmake]   * libjpeg-turbo:[email protected]
[cmake]   * liblzma:[email protected]
[cmake]   * libpng:[email protected]
[cmake]   * libwebp[core,libwebpmux,nearlossless,simd]:[email protected]
[cmake]     opencv4[core,default-features,dnn,jpeg,png,quirc,tiff,webp]:[email protected]#12
[cmake]   * protobuf:[email protected]
[cmake]   * quirc:[email protected]#3
[cmake]   * tiff[core,jpeg,lzma,zip]:[email protected]#1
[cmake]   * vcpkg-cmake:arm64-osx@2023-05-04
[cmake]   * vcpkg-cmake-config:arm64-osx@2022-02-06#1
[cmake]   * vcpkg-get-python-packages:arm64-osx@2023-07-28
[cmake]   * zlib:[email protected]
[cmake] Additional packages (*) will be modified to complete this operation.

看来会安装一些opencv模块

opencv4[core,default-features,dnn,jpeg,png,quirc,tiff,webp]

不过好像这还不是全部,从

./vcpkg search opencv4
我明白了

opencv4                  4.8.0#12         computer vision library
opencv4[ade]                              graph api
opencv4[contrib]                          opencv_contrib module
opencv4[cuda]                             CUDA support for opencv
opencv4[cudnn]                            cuDNN support for opencv
opencv4[dc1394]                           Dc1394 support for opencv
opencv4[default-features]                 Platform-dependent default features
opencv4[dnn]                              Enable dnn module
opencv4[dnn-cuda]                         Build dnn module with CUDA support
opencv4[eigen]                            Eigen support for opencv
opencv4[ffmpeg]                           ffmpeg support for opencv
opencv4[freetype]                         Freetype support for opencv
opencv4[gdcm]                             GDCM support for opencv
opencv4[gstreamer]                        gstreamer support for opencv
opencv4[gtk]                              GTK support for opencv
opencv4[halide]                           Halide support for opencv
opencv4[ipp]                              Enable Intel Integrated Performance Primitives
opencv4[jasper]                           JPEG 2000 support for opencv (deprecated)
opencv4[jpeg]                             JPEG support for opencv
opencv4[lapack]                           LAPACK support for opencv
opencv4[nonfree]                          allow nonfree and unredistributable libraries
opencv4[openexr]                          OpenEXR support for opencv
opencv4[opengl]                           opengl support for opencv
opencv4[openjpeg]                         JPEG 2000 support for opencv
opencv4[openmp]                           Enable openmp support for opencv
opencv4[openvino]                         OpenVINO support for OpenCV DNN
opencv4[ovis]                             opencv_ovis module
opencv4[png]                              PNG support for opencv
opencv4[python]                           Python wrapper support for opencv
opencv4[qt]                               Qt GUI support for opencv
opencv4[quirc]                            Enable QR code module
opencv4[sfm]                              opencv_sfm module
opencv4[tbb]                              Enable Intel Threading Building Blocks
opencv4[tiff]                             TIFF support for opencv
opencv4[vtk]                              vtk support for opencv
opencv4[webp]                             WebP support for opencv
opencv4[world]                            Compile to a single package support for opencv

如果我需要其中一个未安装的模块,会发生什么情况?看来 vcpkg.json 不接受

opencv4[contrib]
。所以唯一的选择是使用
./vcpkg install opencv4[contrib]
手动安装它?

opencv cmake vcpkg
1个回答
0
投票

在 vcpkg.json 中,您需要为特定包添加 features

例如:

{
  "dependencies": [
    {
      "name": "boost",
      "version>=": "1.84.0"
    },
    {
      "name": "opencv",
      "version>=": "4.8.0",
      "features": [
        "contrib",
        "ffmpeg"
      ]
    },
    "fmt"
  ]
}
© www.soinside.com 2019 - 2024. All rights reserved.