首頁 > 軟體

Ubuntu下Qt+OpenCV設定過程

2020-06-16 17:38:06

1:opencv下載原始碼

在下面網址下載linux版本的原始碼
http://opencv.org/downloads.html
Qt環境的安裝設定自行完成(見本博文第7部分)

2:原始碼解壓編譯

cd  opencv-2.1.0

mkdir release && cd release

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DWITH_FFMPEG=OFF  ..

make 
sudo make install 
安裝目錄為/usr/local
opencv的庫檔案則在 /usr/local/lib目錄下

3:常見編譯錯誤解決辦法

1:error ‘ptrdiff_t’ does not name a type opencv
解決方法:
在/include/opencv/cxcore.hpp檔案中新增如下一行
using std::vector;
using std::string;
+using std::ptrdiff_t;  //這是加的一行 在56行

2: error: ‘unlink’ was not declared in this scope
解決方法:
在src/highgui/loadsave.cpp中加入如下一行
#include<unistd.h> 

3:error: ‘CODEC_ID_H264’ was not declared in this scope
解決方法:
方法1:
sudo apt-get install libopencv-dev

然後以下面的方法重新編譯ffmpeg:
./configure --enable-shared --disable-static
make
sudo make install
方法2:
不使用ffmpeg,直接在cmake時禁掉FFMPEG這一項 
-DWITH_FFMPEG=OFF

4:undefined reference to `cvCreateCameraCapture_V4L(int)'

vim opencv-2.1.0/src/highgui/cvcap_v4l.cpp

 217 #ifdef HAVE_CAMV4L
 218 #include <linux/videodev.h>
 219 #endif


vim opencv-2.1.0/src/highgui/cvcap.cpp 
把
164        #if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2)
改為
164         #if defined (HAVE_CAMV4L)

5:其它的幾個錯誤都是unlike不找不到declare,只面要在相應的原始檔中加入unistd.h標頭檔案即可解決 

最後終於編譯通過:
Linking CXX shared library ../../lib/cv.so
[100%] Built target cvpy

4:將自己生成的動態連結庫的路徑加入系統可找到的路徑中

sudo -s
echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf
sudo ldconfig

5:編譯Qt+opencv專案之前,在.pro檔案中加入如下內容即可

//加入標頭檔案的路徑 編譯時使用
INCLUDEPATH +=../opencv-2.1.0/include/opencv2


//加入需要用到的庫,連結時使用
unix:!macx: LIBS += -lcv

unix:!macx: LIBS += -lcvaux

unix:!macx: LIBS += -lcxcore

unix:!macx: LIBS += -lhighgui

unix:!macx: LIBS += -lml

6:上一張陰影去除程式的圖

7:Qt環境的安裝設定

1:下載官方的qt-creator檔案
qt-creator-opensource-linux-x86_64-3.2.0.run

2:從源中安裝qt4 or qt5
sudo apt-get install qt4-default
sudo apt-get install qt5-default
sudo apt-get install qtcreator

3:使用qt-creator 新建qt工程
在kits-->Qt Versions中,add /usr/bin/qmake-qt4  就可以了

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

Ubuntu Linux下安裝OpenCV2.4.1所需包 http://www.linuxidc.com/Linux/2012-08/68184.htm

Ubuntu 12.04 安裝 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htm

CentOS下OpenCV無法讀取視訊檔 http://www.linuxidc.com/Linux/2011-07/39295.htm

Ubuntu 12.04下安裝OpenCV 2.4.5總結 http://www.linuxidc.com/Linux/2013-06/86704.htm

Ubuntu 10.04中安裝OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm

基於QT和OpenCV的臉部辨識系統 http://www.linuxidc.com/Linux/2011-11/47806.htm


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