需要设置OPENCV_EXTRA_MODULES_PATH的目录吗
时间: 2023-07-31 21:05:35 浏览: 46
如果你需要使用 OpenCV 官方库之外的额外模块(extra modules),那么你需要设置 `OPENCV_EXTRA_MODULES_PATH` 环境变量,指定额外模块所在的目录。
额外模块包含一些非常有用的功能,如人脸识别、物体跟踪、光流估计等。在 OpenCV 安装包中,这些模块并没有被编译和安装,因此需要单独下载并编译它们。你可以从 OpenCV 的 GitHub 仓库中下载额外模块,然后将其解压到任意目录中。
在编译 OpenCV 时,通过设置 `OPENCV_EXTRA_MODULES_PATH` 环境变量,告诉 CMake 配置文件额外模块所在的目录,以便 CMake 可以找到并编译它们。例如,如果你将额外模块解压到 `/path/to/opencv_contrib` 目录中,可以使用以下命令设置环境变量:
```
export OPENCV_EXTRA_MODULES_PATH=/path/to/opencv_contrib/modules
```
然后,在编译 OpenCV 时,确保启用了额外模块的编译选项,例如:
```
cmake -DOPENCV_EXTRA_MODULES_PATH=/path/to/opencv_contrib/modules -DOPENCV_ENABLE_NONFREE=ON ..
```
这将启用额外模块的编译,并且还将启用一些非免费的功能,如 SIFT 特征检测算法。
相关问题
OPENCV_EXTRA_MODULES_PATH
OPENCV_EXTRA_MODULES_PATH是一个用于指定OpenCV额外模块路径的变量。根据引用和引用的内容,可以看出这个变量需要设置为opencv_contrib/modules的路径。具体来说,你需要在你的CMakeLists.txt中指定OPENCV_EXTRA_MODULES_PATH为你的opencv_contrib/modules的路径。例如,如果你的路径是/home/wsx/opencv/opencv/opencv_contrib/modules,那么你需要将OPENCV_EXTRA_MODULES_PATH设置为/home/wsx/opencv/opencv/opencv_contrib/modules。这样,当你构建OpenCV时,它将包含额外的模块。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [安装opencv4.5.5](https://blog.csdn.net/lian740930980/article/details/126473543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [opencv3.2_ubuntu16.04_opencv_contrib.zip](https://download.csdn.net/download/qq_27163197/11608864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [【OpenCV进阶】opencv4.1_contrib扩展模块安装与使用](https://blog.csdn.net/weixin_51244852/article/details/118269443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/omega-lee/opencv-4.2.0/opencv_contrib-4.2.0/modules/ ..
这是一个使用CMake进行编译的命令,其中包括了一些参数:
- `-D CMAKE_BUILD_TYPE=Release`:指定编译类型为Release,即发布版本。这样编译出来的程序会更加优化,但是编译时间会更长。
- `-D CMAKE_INSTALL_PREFIX=/usr/local`:指定安装目录为`/usr/local`。这样安装的程序就会被安装到这个目录下。
- `-D OPENCV_EXTRA_MODULES_PATH=/home/omega-lee/opencv-4.2.0/opencv_contrib-4.2.0/modules/`:指定OpenCV的额外模块路径。这个路径包含了一些OpenCV的扩展模块,编译时需要用到。
最后的`..`表示当前路径的上一级目录是CMakeLists.txt所在的目录,也就是编译的目标路径。