centos7安裝和編譯opencv4.5.0


centos7安裝和編譯opencv4.5.0

版權聲明:本文為CSDN博主「冰海228」的原創文章,

原文鏈接:https://blog.csdn.net/qianbin3200896/article/details/117160054

一、centos7的安裝

建議使用最小安裝方法,安裝出來的操作系統比較干凈,參考教程 https://blog.csdn.net/u010476739/article/details/106806683

另外,安裝時CPU最好開4個,內存7G以上。因為后面要編譯opencv,對編譯性能要求稍微高一些。

二、gcc的安裝

默認的 CentOS 軟件源上包含一個名稱為Development Tools的軟件包組,這個組合包含了 GCC 編譯器以及一系列庫文件,還有其他編譯軟件需要用到的工具。運行代碼如下:

sudo yum group install "Development Tools"

安裝完成后使用命令:

gcc --version

來驗證安裝是否成功,效果如下:

  • 聲明:在這一步可能有的人裝不上,可以換源操作,再次嘗試安裝,如果換源后也無法下載,可以跳過這一步,直接安裝gcc,在后續報錯中,安裝缺少的工具

  • 換源可參考:https://www.cnblogs.com/CYD-self/p/13952883.html

三、cmake的安裝

    1. 安裝wget
yum install -y wget
    1. 獲取CMake源碼包
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
    1. 解壓CMake源碼包
tar -zxvf cmake-3.6.2.tar.gz
    1. 編譯安裝
cd cmake-3.6.2

./bootstrap && make -j4 && sudo make install

最后使用命令:

cmake --version

可以查看當前安裝的cmake版本號。

四、Opencv4.5.0的安裝

    1. 安裝依賴
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
    1. 下載opencv和opencv_contrib安裝包:
git clone https://gitee.com/binghai228/opencv.git
cd opencv
git checkout 4.5.0
cd ..
git clone https://gitee.com/binghai228/opencv_contrib
cd opencv_contrib
git checkout 4.5.0			# 選擇分支
cd ..

然后將opencv_contrib移動到opencv目錄下,

然后進入opencv文件夾並創建build文件夾:

cd opencv
mkdir build
cd build 

此時opencv目錄下結構如下圖所示:

    1. 額外配置

(1)去github或是其他網站把opencv_contrib的module缺失文件下載下來,然后放到opencv_contrib/modules/xfeatures2d/src目錄下,文件列表如下,這里給一個我自己整理的下載鏈接:xfeatures2d

(2)將opencv/modules/features2d復制,然后粘貼到build目錄

    1. 編譯和安裝

首先確保在build目錄下,然后輸入下述命令:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local  -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/ -D WITH_TBB=OFF  -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D OPENCV_GENERATE_PKGCONFIG=ON .. 

然后輸入下述命令進行編譯:

make

這里不建議用make -j4或者make -j8進行編譯,因為多線程編譯雖然速度快但是容易出問題。中間如果因為特殊原因斷了可以使用make命令再繼續。

編譯100%完成后最后輸入下述命令進行安裝:

make install
    1. 配置opencv庫可執行路徑

首先安裝vim:

sudo yum install -y vim

添加庫路徑–執行:

sudo ln -s /usr/local/lib64/pkgconfig/opencv4.pc /usr/share/pkgconfig/
sudo ldconfig

添加環境變量:

sudo vim /etc/profile

打開此文件,在文件末尾另起行加入如下兩行:(保存,退出)

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

最后令其生效:

source /etc/profile

接下來進行pkg-config配置,默認的pkg搜索鏈接路徑/usr/lib/pkgconfig,需要將opencv.pc拷貝到pkg的默認路徑下

cp /usr/local/lib64/pkgconfig/opencv4.pc /usr/lib/pkgconfig

然后輸入命令:

ldconfig

重啟以后,輸入下面的命令查看當前opencv版本號:

pkg-config --modversion opencv4

如果安裝正常,輸出如下所示:

五、使用Opencv編寫C++圖像處理程序

    1. 編寫CMakeLists.txt
#聲明要求的 cmake 最低版本
cmake_minimum_required( VERSION 3.1 )
 
# 聲明一個 cmake 工程
project( pro )
 
# 設置編譯模式
set( CMAKE_BUILD_TYPE "Release" )
 
#添加OPENCV庫
#指定OpenCV版本,代碼如下
#find_package(OpenCV 3.3 REQUIRED)
#如果不需要指定OpenCV版本,代碼如下
find_package(OpenCV REQUIRED)
 
#添加OpenCV頭文件
include_directories(${OpenCV_INCLUDE_DIRS})
 
#顯示OpenCV_INCLUDE_DIRS的值
message(${OpenCV_INCLUDE_DIRS})
 
# 添加一個可執行程序
# 語法:add_executable( 程序名 源代碼文件 )
add_executable( main main.cpp )
 
# 將庫文件鏈接到可執行程序上
target_link_libraries( main  ${OpenCV_LIBS})

  1. 編寫C++文件main.cpp
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
 
int main(){
    Mat image;
    image = imread("./1.jpg");
    if (image.empty()) {
        cout << "Error! Input image cannot be read...\n";
        return -1;
    }
    cout<<"圖像寬為:"<<image.cols<<"\t高度為:"<<image.rows<<"\t通道數為:"<<image.channels()<<endl;
    //imshow("images",image); 打開一個小窗口,展示讀取的照片
    //waitKey(0); 等待一個信號退出

    return 0;
}

然后正常的使用cmake編譯和運行即可。

cmake .

make


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM