ubuntu编译安装opencv4.5.1(C++)

1. 在https://github.com/opencv/opencv上下载opencv源码。包括opencv4.5.1和opencv-contrib4.5.1(也可以不用),其中opencv是主体,opencv-contrib包含了一些不是足够稳定的算法,没有集成到opencv中。

2. 把下载的源码包解压可以看到opencv-4.5.1和opencv_contrib-4.5.1两个文件夹,将opencv_contrib-4.5.1目录移到opencv-4.5.1目录下。

在终端安装下列依赖库:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

3. 在opencv-4.5.1目录下,创建文件夹build。然后进入build目录,执行cmake命令

cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D ENABLE_CXX11=1 -D OPENCV_EXTRA_MODULES_PATH=../opencv-4.5.1_contrib/modules -D OPENCV_ENABLE_NONFREE=True ..


等待cmake生成相应的工程文件,如果此过程报错,一般是Makefile:160: recipe for target 'all' failed  就用下列cmake命令代替之前的

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF -D WITH_OPENMP=ON -D ENABLE_PRECOMPILED_HEADERS=OFF ..

4. 使用make来编译。

make -j8

-j8是同时使用8核CPU来执行编译过程,这样速度比较快,具体需要根据自己的电脑情况修改。这个命令应该是编译build下所有的子工程。

5. 编译install工程

sudo make install

这个命令是只编译install这个工程,编译完成就安装成功了。

6. 配置pkg-config路經

经过上面的步骤后,在/usr/local/lib/pkgconfig下生成了opencv4.pc文件,这个文件很重要,里面记录了OpenCV头文件、库文件的路經。需要进行如下配置:

#进入 bash.bashrc
sudo gedit /etc/bash.bashrc

#在文件最后添加如下内容

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

#在终端更新

sudo updatedb

7.  配置库路經

#打开下列文件

sudo gedit /etc/ld.so.conf.d/opencv.conf

# 添加lib路經

/usr/local/lib

# 更新

sudo ldconfig

查看opencv版本号:

pkg-config --modversion opencv4

实例演示:

写了一个简单的imread函数,编译过不了,他喵的。可以直接用Mat类型,但用imread和imshow都会编译出错。

#include<iostream>
#include<opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
    string path = "/home/elvis/Pictures/4.png";
    cout<<"paht: "<<path<<endl;
    Mat img = imread(path);
    Mat m(240, 320, CV_8UC3, Scalar(175, 175, 175));
    imshow("win", m);
    waitKey(0);
    return 0;
}



后来我没用那两个cmake命令,就直接在build文件夹运行cmake ..,也就是说按照默认的CMakeLists.txt文件去cmake,重新安装了opencv,就不报错了,一切顺利。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在 Ubuntu 18.04 中安装 OpenCV 4.5.1: 1. 更新系统软件包: ``` sudo apt update sudo apt upgrade ``` 2. 安装依赖项: ``` sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev \ libv4l-dev libxvidcore-dev libx264-dev \ libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev \ python3-dev python3-numpy libtbb2 \ libtbb-dev libdc1394-22-dev ``` 3. 克隆 OpenCV 存储库: ``` git clone https://github.com/opencv/opencv.git ``` 4. 切换到克隆的存储库目录: ``` cd opencv ``` 5. 创建一个构建目录并进入该目录: ``` mkdir build cd build ``` 6. 运行 CMake 生成 Makefile: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D WITH_TBB=ON \ -D WITH_V4L=ON \ -D WITH_QT=OFF \ -D OPENCV_PYTHON3_INSTALL_PATH=/usr/local/lib/python3.6/dist-packages \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ -D BUILD_EXAMPLES=ON .. ``` 7. 编译 OpenCV: ``` make -j8 ``` (请注意,这里的 `-j8` 表示使用 8 个线程进行并行编译。如果你的系统核心数不同,可以相应地修改。) 8. 安装 OpenCV: ``` sudo make install ``` 9. 配置动态链接库: ``` sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf' sudo ldconfig ``` 10. 验证安装: ``` python3 -c "import cv2; print(cv2.__version__)" ``` 这样就完成了在 Ubuntu 18.04 中安装 OpenCV 4.5.1。希望对你有所帮助!如有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值