本機環境:ubuntu18.04+qt5.9+opencv3.4
參考博客:
Ubuntu16.04 安裝 OpenCV3.2.0與QTcreator5.7
QT+OPENCV環境搭建 用的vs2017,編譯器用的MinGw
Ubuntu 16.04 + Qt 5.11 +opencv 3.4完美配置(親測,最簡單完美的方法)
一.環境配置
可以運行下文demo,如果出現找不到函數定義
只需要在pro文件的末尾,加上
INCLUDEPATH += /usr/local/include \ /usr/local/include/opencv \ /usr/local/include/opencv2 LIBS += /usr/local/lib/libopencv_calib3d.so \ /usr/local/lib/libopencv_core.so \ /usr/local/lib/libopencv_highgui.so \ /usr/local/lib/libopencv_imgproc.so \ /usr/local/lib/libopencv_imgcodecs.so\ /usr/local/lib/libopencv_objdetect.so\ /usr/local/lib/libopencv_photo.so \ /usr/local/lib/libopencv_dnn.so \ /usr/local/lib/libopencv_shape.so\ /usr/local/lib/libopencv_features2d.so \ /usr/local/lib/libopencv_stitching.so \ /usr/local/lib/libopencv_flann.so\ /usr/local/lib/libopencv_superres.so \ /usr/local/lib/libopencv_videoio.so \ /usr/local/lib/libopencv_video.so\ /usr/local/lib/libopencv_videostab.so \ /usr/local/lib/libopencv_ml.so
參考博客中說簡便寫法,只需要把主要文件名寫出來,但我還是列出了完整的寫法,需要自取

INCLUDEPATH += /usr/local/include \ /usr/local/include/opencv \ /usr/local/include/opencv2 LIBS += /usr/local/lib/libopencv_calib3d.so \ /usr/local/lib/libopencv_calib3d.so.3.4 \ /usr/local/lib/libopencv_calib3d.so.3.4.4 \ /usr/local/lib/libopencv_core.so \ /usr/local/lib/libopencv_core.so.3.4 \ /usr/local/lib/libopencv_core.so.3.4.4 \ /usr/local/lib/libopencv_dnn.so \ /usr/local/lib/libopencv_dnn.so.3.4 \ /usr/local/lib/libopencv_dnn.so.3.4.4 \ /usr/local/lib/libopencv_features2d.so \ /usr/local/lib/libopencv_features2d.so.3.4 \ /usr/local/lib/libopencv_features2d.so.3.4.4 \ /usr/local/lib/libopencv_flann.so \ /usr/local/lib/libopencv_flann.so.3.4 \ /usr/local/lib/libopencv_flann.so.3.4.4 \ /usr/local/lib/libopencv_highgui.so \ /usr/local/lib/libopencv_highgui.so.3.4 \ /usr/local/lib/libopencv_highgui.so.3.4.4 \ /usr/local/lib/libopencv_imgcodecs.so \ /usr/local/lib/libopencv_imgcodecs.so.3.4 \ /usr/local/lib/libopencv_imgcodecs.so.3.4.4 \ /usr/local/lib/libopencv_imgproc.so \ /usr/local/lib/libopencv_imgproc.so.3.4 \ /usr/local/lib/libopencv_imgproc.so.3.4.4 \ /usr/local/lib/libopencv_ml.so \ /usr/local/lib/libopencv_ml.so.3.4 \ /usr/local/lib/libopencv_ml.so.3.4.4 \ /usr/local/lib/libopencv_objdetect.so \ /usr/local/lib/libopencv_objdetect.so.3.4 \ /usr/local/lib/libopencv_objdetect.so.3.4.4 \ /usr/local/lib/libopencv_photo.so \ /usr/local/lib/libopencv_photo.so.3.4 \ /usr/local/lib/libopencv_photo.so.3.4.4 \ /usr/local/lib/libopencv_shape.so \ /usr/local/lib/libopencv_shape.so.3.4 \ /usr/local/lib/libopencv_shape.so.3.4.4 \ /usr/local/lib/libopencv_stitching.so \ /usr/local/lib/libopencv_stitching.so.3.4 \ /usr/local/lib/libopencv_stitching.so.3.4.4 \ /usr/local/lib/libopencv_superres.so \ /usr/local/lib/libopencv_superres.so.3.4 \ /usr/local/lib/libopencv_superres.so.3.4.4 \ /usr/local/lib/libopencv_videoio.so \ /usr/local/lib/libopencv_videoio.so.3.4 \ /usr/local/lib/libopencv_videoio.so.3.4.4 \ /usr/local/lib/libopencv_video.so \ /usr/local/lib/libopencv_video.so.3.4 \ /usr/local/lib/libopencv_video.so.3.4.4 \ /usr/local/lib/libopencv_videostab.so \ /usr/local/lib/libopencv_videostab.so.3.4 \ /usr/local/lib/libopencv_videostab.so.3.4.4 \
二.demo1讀取圖片(參考博客3)
工程很簡單,先修改pro配置文件,再編寫main函數
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp>
using namespace cv; int main() { Mat img = imread("cat.jpg"); line(img,Point(1,1),Point(250,250),Scalar(0,0,255),5);//畫一條直線
imshow("可愛的小貓咪", img); waitKey(0); return 0; }
需要注意的是,讀取圖片的時候,如果像上面的程序一樣寫相對路徑的話,需要將圖片放入項目的debug目錄下,不能放在源程序所在的目錄下。
三.demo2讀取視頻(參考博客4)