ubuntu16.04、Qt5.12.0進行opencv4配置,運行簡單的代碼測驗
- 一、前提
- 1、安裝依賴
- 2、克隆opencv庫
- 二、執行cmake
- 三、make&&make install和配置
- 四、新建QT工程
- 1、新建
- 2、qt中專案檔案的配置
- 3、在**main.cpp**中修改代碼
- 3、點擊左下方的綠色按鈕運行
本篇教程是介紹qt的opencv配置,不是作業,如果作業要做qt+opencv的,可以參考這個配置,然后根據自己的想法修改專案檔案,
一、前提
如果沒有安裝Qt的可以參照Linux版Qt5.12.0安裝教程,ubuntu16.04
1、安裝依賴
先安裝這些,下載慢或者下載失敗可以試試換鏡像或者連vpn
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
2、克隆opencv庫
源專案地址:
https://github.com/opencv/opencv
Github 鏡像倉庫 🚀:
https://gitcode.net/opencv/opencv?utm_source=csdn_github_accelerator
下面使用git指令克隆鏡像倉庫
我是在/home/steve/檔案夾下運行的
git clone https://gitcode.net/opencv/opencv.git
二、執行cmake
克隆完成后進入opencv檔案夾,新建build檔案夾,進入build檔案夾執行cmake
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
注意cmake 后面有兩個"."

三、make&&make install和配置
sudo make

sudo make install

配置opencv
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
四、新建QT工程
1、新建



2、qt中專案檔案的配置
在.pro檔案中加入以下代碼
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv \
/usr/local/include/opencv4
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_imgcodecs.so

3、在main.cpp中修改代碼

下面是不包括默認視窗的代碼
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat img = imread("/home/steve/qtproject/test/pika.jpg");
imshow("pika", img);
waitKey(0);
return 0;
}
imread中的圖片路徑,如果要用相對路徑pika.png,就需要把圖片復制到下面Debug檔案夾中,上面的代碼使用絕對路徑,

1可以復制上面的代碼,覆寫掉main.cpp
2也可以只復制紅框中的代碼加進去,這樣運行會出現兩個視窗,一個是主視窗,另一個是opencv 的imshow打開的視窗
如果你的專案有多個cpp檔案會用到這幾個#include 和namespace,你可以把第一個紅框的代碼復制到Headers 里面的頭檔案hpp中,就不用重復參考了,

3、點擊左下方的綠色按鈕運行

對主視窗MainWindow的界面設計方法大概有兩種
一種是 點擊Forms中的 ui檔案,進入相應的設計界面,拖拽組件,設定樣式、槽函式,
另一種是在mainwindow.cpp中使用代碼添加組件
第一種在設計界面放置好組件再添加代碼如下
ui->label->setPixmap(QPixmap::fromImage(QImage(img.data, img.cols, img.rows, img.step, QImage::Format_RGB888)));
講一下第二種比如
新建一個label,需要#include
Qlabel的使用方法按住F1即可查看幫助檔案,所有函式都在幫助檔案里有
setWindowTitle("QT5.12+OpenCV4+TestOpenImg");
Mat src = imread("/home/steve/qtproject/test/pika.jpg");
Mat img;
cvtColor(src, img, COLOR_BGR2RGB);
QLabel *label=new QLabel(this);
label->setPixmap(QPixmap::fromImage(QImage(img.data, img.cols, img.rows, img.step, QImage::Format_RGB888)));
label->adjustSize();

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/400403.html
標籤:其他
上一篇:cyw前端相關作品
