首頁 > 軟體

Fedora 23下編譯安裝OpenCV-3.1.0

2020-06-16 17:04:44

Fedora 23下編譯安裝OpenCV-3.1.0所需環境

1、安裝編譯環境

$ sudo dnf install gcc gcc-c++ ncurses-devel cmake

2、安裝gtk+2.x

$ sudo dnf install gtk2 gtk2-devel gtk2-devel-docs 

$ sudo dnf install libgnome-devel gnome-devel-docs 

$ sudo dnf install zlib glib atk pango gdk-pixbuf2 gdk-pixbuf2-devel

3、安裝依賴的包

$ sudo dnf install gtk+ gtk2-devel pkgconfig python-devel python-numpydoc 

$ sudo dnf install libavc1394 libavc1394-devel libdc1394 libdc1394-devel jasper-devel 

$ sudo dnf install ffmpeg ffmpeg-devel openjpeg-devel libjpeg-devel libpng-devel libtiff-devel

4、最後,就是OpenCV的安裝包了,去官網下載即可,傳送門:http://opencv.org/

使用cmake生成用於編譯安裝的makefile檔案

解壓包後按順序執行以下命令

$ cd ~/opencv-3.1.0/ 

$ cmake -DINSTALL_CREATE_DISTRIB=ON 

$ make 

$ sudo make install

opencv會預設安裝在/usr/local/目錄檔案下,若要改變安裝位置有選項“-D CMAKE_INSTALL_PREFIX=/usr/local",修改後面的引數即可。

其中命令"cmake -DINSTALL_CREATE_DISTRIB=ON"是必須要加上的,否則編譯以後目標檔案連結庫的時候會出現以下錯誤

/usr/bin/ld: cannot find -lippicv 

collect2: error: ld returned 1 exit status

具體請走傳送門:https://github.com/Itseez/opencv/issues/5852

環境設定

1、新增環境變數profile

$ sudo vim /etc/profile

在最後新增如下內容

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

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

儲存並退出,並執行以下命令使修改生效

$ sudo source /etc/profile

2、新增另一個環境變數bashrc

$ sudo vim /etc/bashrc

在最後新增如下內容

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

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

儲存並退出,並執行以下命令使修改生效

$ sudo source /etc/bashrc

3、最後執行

$ sudo ldconfig

測試

1、首先檢查測試是否安裝成功

$ pkg-config --cflags opencv
-I/usr/local/include/opencv -I/usr/local/include
$ pkg-config --libs opencv
-L/usr/local/lib -lopencv_world
$ pkg-config --modversion gtk+-2.0
2.24.29

2、寫一個程式測試test.cpp,原始碼如下

#include "opencv/cv.h"
#include "opencv/highgui.h"
int main(int argc, char **argv)
{
        IplImage* pImage;
        if(argc==2 && (pImage=cvLoadImage(argv[1],1))!=0)
        {
                cvNamedWindow("Image",1);
                cvShowImage("Image",pImage);
                cvWaitKey(0);
                cvDestroyWindow("Image");
                cvReleaseImage(&pImage);
                return 0;
        }
        return -1;
}

直接編譯

$ g++ `pkg-config --cflags opencv` -o test test.cpp `pkg-config --libs opencv`

或者編譯連結分兩部完成

$ g++ `pkg-config --cflags opencv` -c test.cpp 

$ g++ `pkg-config --libs    opencv` -o test test.o

最後執行

$ ./test Lenna.jpg 

OpenCV官方教學中文版(For Python) PDF  http://www.linuxidc.com/Linux/2015-08/121400.htm

Ubuntu 14.04安裝OpenCV2.4.9  http://www.linuxidc.com/Linux/2016-07/132884.htm

Ubuntu 16.04上用CMake圖形介面交叉編譯樹莓派的OpenCV3.0 http://www.linuxidc.com/Linux/2016-10/135914.htm

Ubuntu 16.04中安裝OpenCV 2.4.11  http://www.linuxidc.com/Linux/2016-07/132882.htm

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝  http://www.linuxidc.com/Linux/2016-07/132860.htm

Linux上安裝和編譯OpenCV3.0.0  http://www.linuxidc.com/Linux/2017-07/145446.htm

Ubuntu 16.04下OpenCV安裝筆記和例程 http://www.linuxidc.com/Linux/2017-08/146027.htm

Ubuntu 16.04下TensorFlow+Caffe+OpenCV3.1+Theano部署  http://www.linuxidc.com/Linux/2017-01/139503.htm

Ubuntu 16.04 編譯安裝OpenCV 3.1及OpenCV多版本切換 http://www.linuxidc.com/Linux/2017-01/139325.htm


IT145.com E-mail:sddin#qq.com