我正在ubuntu 16.04中安装opencv。在安装必要的先决条件后,我使用了以下命令:-
kvs@Hunter:~/opencv_contrib$ mkdir build
kvs@Hunter:~/opencv_contrib$ cd build
kvs@Hunter:~/opencv_contrib/build$
kvs@Hunter:~/opencv_contrib/build$ 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=~/opencv_contrib/modules -D BUILD_EXAMPLES=ON ..
但它产生了一个错误:
CMake Error: The source directory "/home/kvs/opencv_contrib" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
我使用了文件夹“module”文档中提供的命令。我如何解决它?我尝试了stack-overflow和其他一些问题的答案,但仍然无法解决。
项目Git储存库here。
5条答案
按热度按时间ykejflvf1#
你应该在
opencv
文件夹中执行mkdir build
和cd build
,而不是在opencv-contrib
文件夹中。CMakeLists.txt
在那里。pbossiut2#
由于您在cmake之后添加了
..
,因此它会在目录中不断地向上跳(就像cd ..
一样)。但是如果您希望在与CMakeLists.txt相同的文件夹下运行cmake,请使用.
而不是..
。sshcrbum3#
这个回复可能比较晚,但是它可以帮助有类似问题的用户。opencv-contrib(可在https://github.com/opencv/opencv_contrib/releases上获得)包含额外的模块,但是构建过程必须从核心opencv(可在https://github.com/opencv/opencv/releases上获得)模块完成。
按照以下步骤操作(假设您使用CMake GUI构建它)
1.下载openCV(从https://github.com/opencv/opencv/releases)并将其解压缩到您的计算机上。在其中创建build文件夹
1.从OpenCV下载exra模块。(从https://github.com/opencv/opencv_contrib/releases)。确保下载相同的版本。
1.解压缩文件夹。
1.打开CMake
1.单击Browse Source并导航到openCV文件夹。
1.单击“浏览构建”并导航到构建文件夹。
1.单击配置按钮。系统会询问您希望如何生成文件。从下拉菜单中选择Unix-Makefile并单击确定。CMake将执行一些测试并返回一组出现在CMake窗口中的红色框。
1.搜索“OPENCV_EXTRA_MODULES_PATH”并提供模块文件夹的路径(例如/用户/purushottam_d/程序/OpenCV3_4_5_contrib/模块)
1.再次单击“配置”,然后单击“生成”。
1.转到构建文件夹
1.这将在您的计算机上安装opencv库。
hc2pp10m4#
一种从源代码逐步构建OpenCV的更简单的方法,如本参考中所述:Installing OpenCV from the Source是到,
步骤1:安装依赖项,
步骤2:创建一个目录opencv_build并克隆必要的存储库,如下所示,
步骤3:cd到opencv目录,在里面创建另一个名为build的目录并cd到其中,
第4步:调用Cmake来构建OpenCV,
如果步骤4成功完成,您应该会在终端的结尾看到以下行:该构建已写入步骤3中创建的目录,沿着该行上方的以下行:
配置完成****生成完成
步骤5:要启动编译过程,其中-j是表示计算机内处理器数量的标志,例如-j6表示我们有6个处理器可用。要验证处理器数量,请在终端上键入nproc,然后在**-j**之后使用此数字。要启动此过程,我们使用以下命令:
步骤6:安装OpenCV,我们使用,
然后检查OpenCV的版本以验证安装:
dsf9zpds5#
我在另一个软件包中也遇到了类似的问题,无论是从一个干净的目录操作,还是从外面构建,或者从源代码复制/粘贴CMakeLists.txt文件到干净的目录都没有成功。