Ubuntu16.0.4安裝OpenCV3.4.2


(1)到官網下載opencv3.4.2,鏈接:https://opencv.org/releases.html

(2)下載opencv_contrib,鏈接:https://github.com/opencv/opencv_contrib/releases

(2)將兩個壓縮包解壓,進入opencv3.4.2目錄創建build文件夾備用,創建install目錄備用

  mkdir build

  mkdir install

(3)安裝依賴庫

  sudo apt-get install build-essential cmake cmake-qt-gui git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

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

  sudo apt-get install libavcodec-dev libavformat-dev libv4l-dev liblapacke-dev libxvidcore-dev libx264-dev libatlas-base-dev gfortran ffmpeg

 

  

(4)打開cmake:cmake-gui

(5)點擊Browse Source選擇opencv源碼所在目錄

 

(6)點擊Browse Build選擇之前創建的build目錄。

(6)點擊Congiure按照默認選擇即可,點擊finsh

 

 

(8)在Search查找extra,找到OPENCV_EXTRA_MODULES_PATH設置目錄為contrib的modules目錄

 (8)查找INSTALL_PREFIX修改安裝目錄,選擇我們創建的install目錄。

不要直接安裝到/usr/local目錄下,有一些第三方庫會依賴opencv,而它們依賴的版本可能是不一樣的,這意味着你可能在一個系統里面安裝多個版本的opencv,為了避免沖突,不要直接安裝在/usr/local目錄下。

 

(9)再次點擊Configure開始配置,直到顯示Configuring done,然后再次點擊Configure直到所有選項沒有紅色狀態。

(10)點擊Generate.

 

 (11)關閉cmake進入build目錄。

 輸入:make -j4,然后等待編譯。

 

(12)編譯完成輸入:make install,到此安裝opencv3.4.2結束。

(13)將頭文件和庫文件放到/usr目錄下。

  cd ~/Download/opencv3.4.2/install

  mv include /usr/include/opencv3.4.2

  mv lib /usr/lib/openc3.4.2

  mv bin /usr/bin/opencv3.4.2

然后設置一下庫文件目錄的路徑。

  vim ~/.bashrc

在最末尾添加:

export LD_LIBRARY_PATH=/usr/lib/opencv3.4.2:$LD_LIBRARY_PATH

然后保存退出,重啟終端生效。

(14)寫一個測試demo測試一下。

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main() {
    VideoCapture cap;
    cap.open(0);  //打開攝像頭
    if(!cap.isOpened())
    {
        cout<<"open camera error!"<<endl;
        return -1;
    }
    Mat frame;
    while(1)
    {
        cap>>frame;  //取當前攝像頭幀畫面
        if(frame.empty())
        {
            cout<<"frame error!"<<endl;
            return -2;
        }
        imshow("cameraView",frame);
		if(waitKey(10)==27)
			break;
    }
    cap.release();  //釋放攝像頭
}

 (15)Makefile

CXX		  := g++
CXX_FLAGS := -Wall -Wextra -std=c++11 -ggdb

BIN		:= .
SRC		:= .
INCLUDE	:= /usr/include/opencv3.4.2
LIB		:= /usr/lib/opencv3.4.2

LIBRARIES	:=-lopencv_imgcodecs -lopencv_highgui -lopencv_core \
			-lopencv_video -lopencv_videoio
EXECUTABLE	:= camera


all: $(BIN)/$(EXECUTABLE)

run: clean all
	clear
	./$(BIN)/$(EXECUTABLE)

$(BIN)/$(EXECUTABLE): $(SRC)/*.cpp
	$(CXX) $(CXX_FLAGS) -I$(INCLUDE) -L$(LIB) $^ -o $@ $(LIBRARIES)

clean:
	-rm $(BIN)/*

 


免責聲明!

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



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