如何在 Linux 上用 C++ 运行简单的 OpenCV 代码?

Saj*_*mmi 1 c++ linux opencv

我使用 C++ 编写了一个简单的 OpenCV 代码并在 linux 中运行它:

\n
#include <iostream>\n#include <opencv2/opencv.hpp>\n#include <opencv2/highgui.hpp>\nusing namespace std;\nint main()\n{\n    cv::Mat image;\n\xc2\xa0   image = cv::imread("sajjad.jpg", 1);\n\xc2\xa0\n\xc2\xa0   cv::namedWindow("Display Image", cv::WINDOW_AUTOSIZE);\n\xc2\xa0   cv::imshow("Display Image", image);\n\xc2\xa0   cv::waitKey(0);\n\xc2\xa0   return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我收到此错误:

\n
opencv_test.cpp:2:10: fatal error: opencv2/opencv.hpp: No such file or directory\n #include <opencv2/opencv.hpp>\n          ^~~~~~~~~~~~~~~~~~~~\ncompilation terminated.\n
Run Code Online (Sandbox Code Playgroud)\n

如何在linux中安装C++的OpenCV?

\n

Saj*_*mmi 7

1-安装依赖项:

\n
sudo apt-get update\nsudo apt-get upgrade\nsudo apt-get install libgtk2.0-dev\xc2\xa0pkg-config\n
Run Code Online (Sandbox Code Playgroud)\n

2- 要编译 OpenCV,您需要一个 C++ 编译器。通常是 G++/GCC 或 Clang/LLVM。OpenCV 还使用 CMake 构建配置工具:

\n
sudo apt install -y g++\nsudo apt-get install cmake make\n
Run Code Online (Sandbox Code Playgroud)\n

3-使用 git 克隆存储库:

\n
git clone https://github.com/opencv/opencv.git\ngit clone https://github.com/opencv/opencv_contrib.git\n
Run Code Online (Sandbox Code Playgroud)\n

4-创建构建目录:

\n
mkdir -p build && cd build\n
Run Code Online (Sandbox Code Playgroud)\n

5- 配置\xe2\x80\x8a-\xe2\x80\x8为首选构建系统生成构建脚本:

\n
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules\xc2\xa0../opencv\n
Run Code Online (Sandbox Code Playgroud)\n

6- Build\xe2\x80\x8a-\xe2\x80\x8arun实际编译过程。4 是使用的处理器核心的数量。这部分可能需要几分钟。

\n
make -j4\n
Run Code Online (Sandbox Code Playgroud)\n

7- 安装过程将文件复制到预定义位置并进行小修补:

\n
sudo make install\n
Run Code Online (Sandbox Code Playgroud)\n

7.1- 如果需要,您可以删除 opencv:

\n
sudo make uninstall\n
Run Code Online (Sandbox Code Playgroud)\n

8- 创建 CMake 文件。源代码的名称DisplayImage.cpp例如:

\n
cmake_minimum_required(VERSION 2.8)\nproject( DisplayImage )\nfind_package( OpenCV REQUIRED )\ninclude_directories( ${OpenCV_INCLUDE_DIRS} )\nadd_executable( DisplayImage DisplayImage.cpp )\ntarget_link_libraries( DisplayImage ${OpenCV_LIBS} )\n
Run Code Online (Sandbox Code Playgroud)\n

9-生成可执行文件。这部分很简单,只需像使用 CMake 的任何其他项目一样进行即可:

\n
cd <DisplayImage_directory>\ncmake\xc2\xa0.\nmake\n
Run Code Online (Sandbox Code Playgroud)\n

10-运行可执行文件:

\n
./DisplayImage\n
Run Code Online (Sandbox Code Playgroud)\n

  • 为什么所有的反对票?为什么这是一个不好的答案? (3认同)