零基礎配置Ubuntu 16.04.3+opencv3.0.0+qt5.7.1

配置Ubuntu 16.04.3+opencv3.0.0+qt5.7.1

所需軟體下載放在優盤裡掛載在Ubuntu系統上打開進行下述步驟

鏈接:

pan.baidu.com/s/1cUwBBx

密碼:6kb6

安裝Ubuntu自己裝步驟略。

1.安裝Qt

1.1 安裝qt-opensource-linux-x64-5.7.1.run

· 1、將下載的安裝文件qt-opensource-linux-x64-5.7.1.run直接右鍵copy to home/用戶目錄,如/home/user,我的是home/hzl下

· 2 、如果qt-opensource-linux-x64-5.7.1.run的屬性中擁有者沒有運行許可權,則可用chmod命令添加執行許可權:

chmod u+x qt-opensource-linux-x64-5.7.1.run

· 3 、在終端執行:

./qt-opensource-linux-x64-5.7.1.run

4、跳出安裝界面,一直點擊下一步,直到安裝完成即可

啟動QT後,將其鎖定到邊框

qt ide的命令行模式版 Hello world !

2.安裝Opencv.

參考:

lib.csdn.net/article/op

改動版:我的是opencv-3.0.0

1、安裝依賴的庫

sudo apt-get install build-essential # 必須的,gcc編譯環境sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev # 必須的,包括cmake等工具sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 可選的,看個人需要,總共5M左右我都要來怕出幺蛾子

2、下載源碼

· 在官網下載:opencv.org/downloads.ht

· 或著用git clone:

cd ~/opencv300 # opencv310是自己提前建的,源碼將放在這裡git clone https://github.com/Itseez/opencv.gitgit clone https://github.com/Itseez/opencv_contrib.git

我的提前下好了,所以沒用上頭的指令直接走下一步:

3、使用cmake安裝

· 從優盤中copy到了home/user我的是home/hzl下,再解壓源碼包右鍵的Extract Here,得到opencv-3.0.0文件夾 (用git的話,即是opencv300)通過驗證cmake版本知道自己裝沒裝cmake :cmake --version

· 然後通過下頭指令建立編譯目標文件夾即build文件夾

cd opencv-3.0.0mkdir build

· 使用cmake或著用cmake-gui生成Makefile

(1) cmake方式(我用的方式)

cd build/(主要是為了把路徑指在opencv-3.0.0/build下,故靈活些前邊已經指到opencv的文件夾了,只寫build就行)cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. # 生成後的Makefile在build文件夾中,而需要的CMakeLists.txt在 ".."中,即上一級文件夾中(opencv-3.0.0)

在Configure過程中,若出現

– ICV: Downloading ippicv_linux_20141027.tgz… 。。。。 停住了!!! 則下載 ippicv_linux_20141027.tgz,替換掉

opencv-3.0.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b 下的同名文件即可,注意替換後,重新編譯,或著一開始就放進去

(2) cmake-gui方式 (我用的上邊那種這種就沒用啦。)

cmake-gui即cmake和圖形界面版程序: 先安裝cmake-gui

sudo apt-get install cmake-qt-gui

然後打開cmake-gui:

「/opencv-3.1.0」 和 「/opencv-3.1.0/build」換成自己的,然後先點 Configure 然後點 Generate。

4、安裝OpenCv

在opencv3.0.0/build下,終端運行:

make -j7 # 7個線程編譯(這步運行完要好久)sudo make install # 安裝

Qt 5.7.1配置調用opencv3.0.0

· 1、打開Qt,點擊「New Project」

· 2、依次選擇:application——Qt Console Application,點擊右下角Choose

· 3、可修改「名稱」創建新的路徑,也可為默認值。

· 4、打開左上角的pro文件,在其最下面添加如下內容:

注意:以下內容為cmake時設置的路徑CMAKE_INSTALL_PREFIX=/usr/local/opencv320下的路徑及相應的文件,一般默認的路徑是/usr/local/,總之,在cmake時設置的路徑下找下列內容即可。

自己找一下自己文件的對應位置修改下邊的,還有lib文件可以通過Terminal先指到指定空間,再用ls指令列出lib下的文件名複製修改下列程序中的庫名。下邊是按我的路徑和庫寫的。

INCLUDEPATH += .INCLUDEPATH += /usr/local/includeINCLUDEPATH += /usr/local/include/opencvINCLUDEPATH += /usr/local/include/opencv2INCLUDEPATH += /usr/local/include/opencv2/coreINCLUDEPATH += /usr/local/include/opencv2/highguiINCLUDEPATH += /usr/local/include/opencv2/imgprocINCLUDEPATH += /usr/local/include/opencv2/flannINCLUDEPATH += /usr/local/include/opencv2/photoINCLUDEPATH += /usr/local/include/opencv2/videoINCLUDEPATH += /usr/local/include/opencv2/features2dINCLUDEPATH += /usr/local/include/opencv2/objdetectINCLUDEPATH += /usr/local/include/opencv2/calib3dINCLUDEPATH += /usr/local/include/opencv2/mlINCLUDEPATH += /usr/local/include/opencv2/contribLIBS += `pkg-config opencv --cflags --libs`LIBS += /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_objdetect.so.3.0.0 /usr/local/lib/libopencv_calib3d.so.3.0 /usr/local/lib/libopencv_photo.so /usr/local/lib/libopencv_calib3d.so.3.0.0 /usr/local/lib/libopencv_photo.so.3.0 /usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_photo.so.3.0.0 /usr/local/lib/libopencv_core.so.3.0 /usr/local/lib/libopencv_shape.so /usr/local/lib/libopencv_core.so.3.0.0 /usr/local/lib/libopencv_shape.so.3.0 /usr/local/lib/libopencv_features2d.so /usr/local/lib/libopencv_shape.so.3.0.0 /usr/local/lib/libopencv_features2d.so.3.0 /usr/local/lib/libopencv_stitching.so /usr/local/lib/libopencv_features2d.so.3.0.0 /usr/local/lib/libopencv_stitching.so.3.0 /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_stitching.so.3.0.0 /usr/local/lib/libopencv_flann.so.3.0 /usr/local/lib/libopencv_superres.so /usr/local/lib/libopencv_flann.so.3.0.0 /usr/local/lib/libopencv_superres.so.3.0 /usr/local/lib/libopencv_hal.a /usr/local/lib/libopencv_superres.so.3.0.0 /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_ts.a /usr/local/lib/libopencv_highgui.so.3.0 /usr/local/lib/libopencv_videoio.so/usr/local/lib/libopencv_highgui.so.3.0.0 /usr/local/lib/libopencv_videoio.so.3.0 /usr/local/lib/libopencv_imgcodecs.so /usr/local/lib/libopencv_videoio.so.3.0.0 /usr/local/lib/libopencv_imgcodecs.so.3.0 /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_imgcodecs.so.3.0.0 /usr/local/lib/libopencv_video.so.3.0 /usr/local/lib/libopencv_imgproc.so /usr/local/lib/libopencv_video.so.3.0.0 /usr/local/lib/libopencv_imgproc.so.3.0 /usr/local/lib/libopencv_videostab.so /usr/local/lib/libopencv_imgproc.so.3.0.0 /usr/local/lib/libopencv_videostab.so.3.0 /usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_videostab.so.3.0.0 /usr/local/lib/libopencv_ml.so.3.0 /usr/local/lib/libopencv_ml.so.3.0.0 /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_objdetect.so.3.0

再在main.cpp中寫下列程序測試:(要提前將圖片放入這個工程的文件夾中,且在imread後要寫完整的圖片路徑,不然會報錯:

OpenCV Error: Assertion

failed (size.width>0 && size.height>0) in imshow, file

/home/hzl/opencv-3.0.0/modules/highgui/src/window.cpp, line 271

terminate called after

throwing an instance of cv::Exception

what(): /home/hzl/opencv-3.0.0/modules/highgui/src/window.cpp:271: error: (-215)

size.width>0 && size.height>0 in function imshow)

所以下邊的程序按自己的文件改圖片路徑

#include <QCoreApplication>#include <opencv2/highgui.hpp>#include <opencv2/core.hpp>#include <opencv2/imgproc.hpp>#include <iostream>using namespace cv;using namespace std;int main(int argc, char *argv[]){ Mat image; image = imread("/home/hzl/untitled1/timg.jpeg"); // Read the file if(!image.data) { cout << "nenhuma imagem!"; } else { cout << "imagem carregada!"; } cv::namedWindow("Teste imagem"); cv::imshow("Teste imagem", image); cv::waitKey(0); return 0;}

效果圖如下:

推薦閱讀:

Ubuntu 調優與美化教程
應該刪除預裝的 Window 8,改用 Ubuntu 14 嗎?
在ubuntu上安裝yum會怎樣?
如何在UEFI模式下Win8與Ubuntu多系統的安裝?
Ubuntu 17.10 安裝

TAG:QtC開發框架 | Ubuntu | OpenCV |