【opencv】centos下opencv的编译(带opencv_contrib扩展包)

目录

  • 1.安装cmake
  • 2.opencv安装文件准备
  • 可选安装
  • 3.进行编译
  • 4.进行安装
  • 5.使用测试

编译步骤:

1.安装cmake

安装wget:

应该已安装gcc工具套组:

yum install sudo
yum install -y gcc gcc-c++ make automake 
yum install -y wget
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
tar -zxvf cmake-3.6.2.tar.gz
cd cmake-3.6.2
./bootstrap && make -j4 && sudo make install

cmake安装完成。

2.opencv安装文件准备

git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git
在gitgub上下载opencv及其扩展包,注意,两者tag版本应对齐
【opencv】centos下opencv的编译(带opencv_contrib扩展包)_第1张图片
将 opencv_contrib 文件夹移至 opencv 文件夹下
将整理好的文件夹传送至用于编译的远程服务器上:
事先新建好opencvBuild文件夹。

//如果上传及下载的是文件夹,需要加入-r,代表递归操作,将前地址内容转移至后地址
csp -P 10008 -r ‪D:\AI\opencv-4.x [email protected]:/home/opencvBuild

这里由于用的是vscode远程功能,所以直接传了。
创建一个编译目录:

cd opencv-4.x
mkdir build
cd build

再创建一个编译好后的安装目录:

mkdir /usr/local/opencv

下面安装opencv安装前需要安装的依赖(重要):
有些包找不到也能正常使用

sudo yum -y install epel-release
sudo yum -y install gtk2-devel
sudo yum install -y libpng-devel
sudo yum install -y jasper-devel
sudo yum install -y openexr-devel
sudo yum install -y libwebp-devel
sudo yum -y install libjpeg-turbo-devel 
sudo yum -y install libtiff-devel 
sudo yum -y install tbb-devel eigen3-devel
sudo yum -y install boost boost-thread boost-devel
sudo yum -y install libv4l-devel

可选安装

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

根据官网要求,输入cmake命令:这里使用-D对编译器进行设置

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D WITH_TBB=ON -D WITH_CUDA=ON -D OPENCV_GENERATE_PKGCONFIG=YES -D BUILD_SHARED_LIBS=ON -D WITH_OPENMP=ON -D ENABLE_PRECOMPILED_HEADERS=OFF -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=/home/opencvBuild/opencv-4.x/opencv_contrib-4.x/opencv_contrib-4.x/modules【这里改为源码中的 /opencv/opencv_contrib/modules 位置】 ../opencv-4.x 【最后跟的是源码目录】

3.进行编译

sudo make -j8

【opencv】centos下opencv的编译(带opencv_contrib扩展包)_第2张图片

4.进行安装

sudo make install

安装完成。

5.使用测试

编写调用opencv的cpp文件,并用cmakelist进行编译:
c++文件


#include 
#include 

using namespace cv;
int main()
{
	Mat mat = imread("/root/opencvtest/pic.png");
	if (mat.empty())
	{
		printf("could not load image...\n");
		return -1;
	}
    std::cout << "Hello World!\n";
}

添加对应的cmakelist:

#设置CMAKE最`在这里插入代码片`低版本
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
MESSAGE(STATUS "start!")
#设置项目名称
SET(PROJECT_NAME OpenCV_test)
#这里添加刚刚安装的opencv的目录,需要包含OpenCVConfig.cmake
SET(OpenCV_DIR /usr/local/opencv/lib64/cmake/opencv4)
#建立项目
PROJECT(${PROJECT_NAME})
#寻找OpenCV库
FIND_PACKAGE(OpenCV REQUIRED)
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
#打印调试信息
MESSAGE(STATUS "Project: ${PROJECT_NAME}")
MESSAGE(STATUS "OpenCV library status:")
MESSAGE(STATUS "    version: ${OpenCV_VERSION}")
MESSAGE(STATUS "    libraries: ${OpenCV_LIBS}")
MESSAGE(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

#获取代码,在项目中,将所有代码都放在src文件夹中
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
MESSAGE(STATUS "Src file: ${DIR_SRCS}")
#编译可执行程序
ADD_EXECUTABLE(${PROJECT_NAME} ${DIR_SRCS})
#添加链接库
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})

运行命令:

cmake .
make 

//运行程序:

./OpenCV_test

输出结果:
【opencv】centos下opencv的编译(带opencv_contrib扩展包)_第3张图片

你可能感兴趣的:(深度学习,c++,机器视觉,opencv,centos,人工智能)