Centos&&OpenCV(4.5.1)的开发环境配置&&OpenCV_contrib安装

Centos&&OpenCV(4.5.1)的开发环境配置&&OpenCV_contrib安装

概要:在Centos8上配置opencv的开发环境


一、准备

1.安装依赖库

安装opencv所需依赖库

yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm

2.获取opencv

方法一

wget opencv.zip https://codeload.github.com/opencv/opencv/zip/4.5.1
unzip opencv.zip
cd opencv-4.5.1

下载还挺卡的

方法二

直接下载

更快的下载地址

unzip opencv.zip && cd opencv-4.5.1

二、配置环境

1.编译

mkdir build && cd build
cmake3 -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j$(nproc)
make install

多等等就编译完了

2.试验

采用cmake编译测试

(我发现直接用g++编译会找不着库会报错,但教程上用cmake就解决了,顺便粗略理解了一下cmake怎么编译)


1. 构建一个测试文件夹

mkdir test
cd test
touch CMakeLists.txt
touch test.cpp

并且附加一张测试图片
如图所示(下图为在虚拟机Centos7上进行测试的截图)
Centos&&OpenCV(4.5.1)的开发环境配置&&OpenCV_contrib安装_第1张图片


2. 写入内容

在CMakeLists.txt内写入项目配置信息

set(CMAKE_CXX_STANDARD 14)
cmake_minimum_required(VERSION 2.8)
project(test)                                  #项目名称
find_package( OpenCV REQUIRED )                #要opencv库
include_directories( ${OpenCV_INCLUDE_DIRS} )  #引用opencv
add_executable( test test.cpp )                #指明cpp文件以及输出文件
target_link_libraries( test ${OpenCV_LIBS} )

在test.cpp内写入

#include
#include//引用opencv库
using namespace std;
using namespace cv;//定义命名空间

int main(){
Mat img;
img=imread("th.jpg");//读取图像文件
if(!img.data){
  cout<<"img wrong or not exist"<<endl;
}
else{
    //如果没有图形界面,在照片存在的情况下,没有报错,也可以说明配置成功了
    cout<<"test successfully!!!"<<endl;

    //有图形界面的可以拿这个试
    /*namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", img);
    waitKey(0);*/ 
}
return 0;
}

3. 编译运行

编译及运行:

cmake3 .
make

该目录就会变成这样
Centos&&OpenCV(4.5.1)的开发环境配置&&OpenCV_contrib安装_第2张图片
然后运行

./test

显示以下应该是成功了
成功运行test


欸欸欸,还没完呢,contrib还没装

要用到(以及其他各种库)就得装opencv的拓展(可以这么叫吧),所以contrib也得装,首先下载对应版本的contrib库,然后修改cmake的执行语句重新编译应该就可以了。
指令如下:

cmake3 -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH="将此处替换为contrib库中modules的文件夹路径(引号去掉)" -D CMAKE_INSTALL_PREFIX=/usr/local ..

其实比起之前的没多大改变,就加了引用contrib库的内容。

总结

首次在csdn发帖
参考:
https://blog.csdn.net/whudee/article/details/93379780
https://www.cnblogs.com/qjx-2016/p/8532296.html

你可能感兴趣的:(opencv)