[嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt編譯linux-Opencv庫 & 測試
- 前文:
- 準備環境
- 安裝qt-opencv必備庫
- git-clone opencv庫
- 編譯opencv庫
- 特殊:opencv編譯的include,編譯出來后多嵌套了一層文件夾,手工處理下改為include/opencv2
- 測試demo
- 新建項目
- QOpencv3.pro
- main.cpp
- 百度云
前文:
[嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_用Qt編譯Windows-Opencv庫
[嵌入式embed][Qt]Qt5.12+Opencv4.x+Cmake4.x_測試Qt編譯的opencv4.x的庫
準備環境
ubuntu20.04
安裝qt-opencv必備庫
sudo apt install build-essential cmake libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt install openjdk-11-jdk python3 python3-pip
git-clone opencv庫
git clone https://github.com/opencv/opencv
編譯opencv庫
其中/opt/opencv 就是我自定義放的位置
cd opencv
mkdir build && cd build
cmake -D CMAKE_INSTALL_PREFIX=/opt/opencv ..
make -j4
sudo make install
build成功,開始執行sudo make install
make install 成功
特殊:opencv編譯的include,編譯出來后多嵌套了一層文件夾,手工處理下改為include/opencv2
測試demo
新建項目
用Qt編譯Windows-Opencv庫
QOpencv3.pro
QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.ui# linux設置 OpenCV 路徑
OPENCV_INSTALL_PATH = /opt/opencv# linux包含頭文件路徑
INCLUDEPATH += $$OPENCV_INSTALL_PATH/include
INCLUDEPATH += $$OPENCV_INSTALL_PATH/include/opencv2# linux添加 OpenCV 庫文件路徑
LIBS += -L$$OPENCV_INSTALL_PATH/lib# linux鏈接需要的 OpenCV 庫(根據項目實際使用的模塊調整)
LIBS += -lopencv_core \-lopencv_imgproc \-lopencv_highgui \-lopencv_imgcodecs \-lopencv_videoio# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
main.cpp
#include "mainwindow.h"#include <QApplication>
#include <opencv.hpp>
using namespace cv;//opencv4.x版本
int main(int argc, char *argv[])
{QApplication a(argc, argv);//展示一張圖片Mat myimage = imread("1.jpg");imshow("Image", myimage);//等待10秒鐘waitKey(10);MainWindow w;w.show();return a.exec();
}
將項目復制到linux目錄中:
qmake
make
export LD_LIBRARY_PATH=/opt/opencv/lib:$LD_LIBRARY_PATH & ./QOpencvV3
運行成功
百度云
Qt項目(linux)+環境安裝包