安装Cmake
只要3.5.1以上即可,可以先看一下自己的cmake版本,一般不需要这一步来安装
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake
安装依赖项
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran libgtk2.0-dev libjpeg-dev libpng-dev
下载opencv包
访问链接,下载
https://opencv.org/releases/page/2/
点击“来源“下载,根据自己的需求下载对应版本
谨记后面代码中对应版本要跟着改,这里是以4.4.0为例,实测3.4.12也可以,把对应版本号改了就行,其他都一样
解压后进入此文件夹,在此文件夹打开终端
依次执行下列命令进行编译
mkdir build
cd build
sudo mkdir /usr/local/opencv4.4.0
预编译
特别提醒 如果你是看视觉slam那本书来安装这个的话,建议在一般安装情况上多安装viz模块,但我只在opencv3上试过,opencv4未做尝试,建议采用opencv3, 预编译采用方法(1)
当然如果你是只是普通安装opencv不用viz模块,直接采用方法(2),即使差其他模块可以后面再重新编译,只是又要花些时间
方法(1)
先安装viz需要的依赖
sudo apt-get install libvtk6-dev
再预编译
cmake -DWITH_VTK=ON -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.12 ..
方法(2)
直接预编译
cmake -D CMAKE_BUILD_TYPE=RELEASE -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/usr/local/opencv4.4.0 ..
编译
sudo make -j4
sudo make install
配置环境变量
sudo gedit /etc/ld.so.conf.d/open.conf
在弹出的文件里添加,之后保存退出
/usr/local/opencv4.4.0/lib
终端输入
sudo ldconfig
sudo gedit /etc/bash.bashrc
在弹出的文件里添加,之后保存退出
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4.4.0/lib/pkgconfig
export PKG_CONFIG_PATH
在终端输入
source /etc/bash.bashrc
sudo apt-get install mlocate
sudo updatedb
可以用如下指令查看安装的opencv版本
pkg-config --modversion opencv
测试安装是否完成(自己找一张图片,放在对应路径下)
test.cpp
#include
#include "opencv2/core/core.hpp"
#include "opencv2/opencv.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace std;
int main()
{
cv::Mat img = cv::imread("../test1.png");
//namedWindow("DisplayImage");
cv::imshow("test", img);
cv::waitKey();
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(test_install)
find_package(OpenCV REQUIRED) #加这一句
include_directories(${OpenCV_INCLUDE_DIRS}) #加这一句
set(CMAKE_CXX_STANDARD 11)
add_executable(test_install test.cpp)
target_link_libraries(test_install ${OpenCV_LIBS}) #加这一句 ```
编译输出成功后会显示一张图片,表明opencv安装成功
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build & cd build
cmake ..
make
如果你的ubuntu版本比较新,会出现这样的错误
/Sophus/sophus/so2.cpp:32:26: error: lvalue required as left operand of assignment
unit_complex_.real() = 1.;
/Sophus/sophus/so2.cpp:33:26: error: lvalue required as left operand of assignment
unit_complex_.imag() = 0.;
解决办法:
找到/Sophus/sophus目录下so2.cpp文件,如下代码:
SO2::SO2()
{
unit_complex_.real() = 1.;
unit_complex_.imag() = 0.;
}
将其修改为:
SO2::SO2()
{
unit_complex_.real(1.);
unit_complex_.imag(0.);
}
再make一次就好了