【实测】在Ubuntu18.04安装Opencv并配置环境

引用

OpenCV: Installation in Linux

Ubuntu18.04安装 OpenCV4.3.0 - 知乎 

Ubuntu下OpenCV环境配置_ZONGXP的博客-CSDN博客_opencv环境变量配置 ubuntu

安装依赖

编译器:

sudo apt update && sudo apt install -y cmake g++ wget unzip

官网需求:

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

下载

选好自己opencv想放的文件夹,笔者是放在~/Software/opencv之中

cd ~/Software/opencv

下载opencv本体和扩展模块:

wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip

解压:

unzip opencv.zip
unzip opencv_contrib.zip

可以删除掉原始的压缩包了,随意。

然后创建一个build文件夹并且进入:

mkdir -p build && cd build

配置,建议最好先复制粘贴到记事本之中,根据自己情况配置好,然后再粘贴入终端运行

cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D CMAKE_INSTALL_PREFIX=/usr/local \
      -D CUDA_ARCH_BIN='6'\
      -D WITH_CUDA=ON \
      -D INSTALL_PYTHON_EXAMPLES=ON \
      -D INSTALL_C_EXAMPLES=ON \
      -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules \
      -D BUILD_EXAMPLES=ON ../opencv-master

由于OpenCV 4.X支持使用CUDA对DNN模块进行加速计算,所以这里配置CUDA;在此之前需要自行配置好NVIDIA显卡的驱动与CUDA;

可修改以下语句进行配置,参数为电脑显卡的计算能力.

 CUDA_ARCH_BIN='6'

计算能力对应表 

CUDA GPUs | NVIDIA Developericon-default.png?t=LA92https://developer.nvidia.com/cuda-gpus

make

nproc

查看cpu核心数

然后在build文件夹下运行,建议不要满核心运行,(笔者有16核心,此处用12核)

make -j12

最后

sudo make install

完成安装。 

环境配置

首先将OpenCV的库添加到路径,从而可以让系统找到

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

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加 

/usr/local/lib  

然后保存退出,执行如下命令使得刚才的配置路径生效 

sudo ldconfig  

配置bash,执行如下命令

sudo gedit /etc/bash.bashrc  

在末尾添加 

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

 保存退出,然后执行如下命令使得配置生效

source /etc/bash.bashrc  

实测

笔者使用的ide(clion)测试,所以这里只放出CMakeFile 还有代码,至于怎么手动编译,也很简单,大家可以自行搜索

CMakeList.txt

cmake_minimum_required(VERSION 3.20)

project(tutorial)

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(tutorial main.cpp)
target_link_libraries(tutorial ${OpenCV_LIBS})

main.cpp

注意把filename换成自己电脑里一张图片的绝对路径。

#include
#include
#include
#include

int main(int args, char** argv){
    std::string filename = "/home/samsu/factory/opencv/tutorial/chessboard_18x18.png";
    if (args >= 2){
        filename = argv[1];
        std::cout << "Image file: " << filename << std::endl;
    }

    cv::Mat image = cv::imread(filename, cv::IMREAD_COLOR);
    if (image.empty()){
        std::cout << "please input an image file path." << std::endl;
        return 0;
    }

    std::cout << "Image size is: " << image.size() << std::endl;

    cv::namedWindow("image", cv::WINDOW_NORMAL);
    cv::imshow("image", image);
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

 编译运行代码会显示这张图片,并且在调试窗口显示这张图片的大小。说明环境调配成功。 

python 安装方法 (python3.x 建议)

pip install opencv-python
pip install opencv-contrib-python

 结束

谢谢

你可能感兴趣的:(opencv,人工智能,计算机视觉,ubuntu,linux)