下载opencv和opencv_contrib
下载网址:opencv的github官方站点
如果你喜欢使用git下载的话
cd ~/Downloads
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
点击release选择合适的版本下载。
安装基础依赖和工具
sudo apt install python3-dev libgtk-3-dev pkg-config ffmpeg libjpeg-dev libavcodec-dev libtiff5-dev libavformat-dev libswscale-dev libavresample-dev libpng-dev
出现某些包无法安装情况忽略即可。pkg-config和libgtk-3-dev要安装成功。可以使用试错法慢慢安装这些依赖。有些也许不是必要额。此处仅供参考。最好提前通过各种方式知道自己的项目必须用到那些依赖,否则最后还得重新build,特别心酸。这上面几个都是通过一次次的失败积累出来的。我是做视频目标跟踪方面的所以比较重视videoio的功能。
编译opencv和opencv_contrib
cd <path to opencv source>
sudo mkdir build
cd build #以上三句现在一般可以直接使用文件管理器实现,无须命令创建。
cmake -D CMAKE_BUILD_TYPE="Release" -D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib-4.2.0/modules ~/Downloads/opencv-4.2.0 ..
可以看到gtk和ffmpeg等选项是开启的,以及几种图片的支持。
开始编译。
sudo make -j8
-j 指调用的线程数,推荐-j8
sudo make install
到这里就完成了安装过程。
去/usr/local/include
你会发现一个opencv4的文件夹(我装的是4.2.0)里面包含一个opencv2.这便是我们的include所在。
配置code::blocks
在code::blocks中打开设置编译器
只在搜索目录的编译器 条目下,添加两个路径即可。然后在linker里添加/usr/local/lib.
在link settings里将/usr/local/lib里所有的opencv的.so选中添加。
这样就使其与codeblocks链接起来相认了。重启一下软件,然后测试一下。
在code::blocks中Linux上一般没有自动缩进,
sudo apt install codeblocks-contrib
重启一下软件就可以解决。
最后让大家看一看成果。坚持就是胜利,这个过程中无数的掉坑,无数的想放弃,但是还是摸索到了最后。希望对大家有一滴滴的帮助。
Linux的code block实在利用xterm的,而xterm的字体和大小都是极品的丑与小,csdn上有相关的修改可以参考。建议修改掉(在配置opencv之前)
配置CLion
编辑新建项目的CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.15)
project(opencv)
find_package(OpenCV REQUIRED) #新添加的内容
set(CMAKE_CXX_STANDARD 20)
add_executable(opencv main.cpp)
include_directories(${OpenCV_INCLUDE_DIRS}) #新添加的内容
target_link_libraries(opencv ${OpenCV_LIBS}) #新添加的内容
在原来的文件基础上在相应位置加上上面备注了(新添加的内容)的三句话,重载一下该文件已经。