ubuntu20 安装opencv (3 4 都可采用此方法) c++版和Sophus库

安装opencv

安装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也可以,把对应版本号改了就行,其他都一样

ubuntu20 安装opencv (3 4 都可采用此方法) c++版和Sophus库
解压后进入此文件夹,在此文件夹打开终端
依次执行下列命令进行编译
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");

        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安装成功

安装Sophus库

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一次就好了

Original: https://blog.csdn.net/qin_liang/article/details/126831626
Author: 玛卡巴卡_qin
Title: ubuntu20 安装opencv (3 4 都可采用此方法) c++版和Sophus库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/703837/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球