QT5 CMakeLists.txt 配置使用OpenCV3.4.9

平台: Windows 10 x64

           CMake 3.10

           OpenCV 3.4.9

配置步骤:

1、添加环境变量

右键此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> 新建
变量名:OpenCV_DIR
变量值:经解压-编译-下载后得到的OpenCV目录

 2、配置CMakeList.txt

cmake_minimum_required(VERSION 3.5)

project(open_new_window LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# QtCreator supports the following variables for Android, which are identical to qmake Android variables.
# Check http://doc.qt.io/qt-5/deployment-android.html for more information.
# They need to be set before the find_package(Qt5 ...) call.

#if(ANDROID)
#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
#    if (ANDROID_ABI STREQUAL "armeabi-v7a")
#        set(ANDROID_EXTRA_LIBS
#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so
#            ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so)
#    endif()
#endif()
#配置OpenCV路径
set(OpenCV_DIR "E:/Qt/OpenCV3.4.9/opencv/rebuild_for_qt")
find_package(Qt5 COMPONENTS Widgets REQUIRED)
find_package(OpenCV REQUIRED)

#打印OpenCV信息
message(STATUS "OpenCV libaray information:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    header file: ${OpenCV_INCLUDE_DIRS}")

include_directories(${OpenCV_INCLUDE_DIRS})
if(ANDROID)
  add_library(open_new_window SHARED
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
  )
else()
  add_executable(open_new_window
    main.cpp
    mainwindow.cpp
    mainwindow.h
    mainwindow.ui
  )
endif()
#建立OpenCV和项目的链接
target_link_libraries(open_new_window PRIVATE Qt5::Widgets ${OpenCV_LIBS})

3、测试

在main.cpp上复制粘贴下列代码

#include "mainwindow.h"
#include "opencv2/opencv.hpp"
#include <opencv2/highgui.hpp>
using namespace cv;
using namespace std;
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();


    cv::Mat src = imread("C:/Users/Desktop/IMG_0029.JPG", CV_LOAD_IMAGE_COLOR);
        if(!src.data)  //or == if(src.empty())
        {
            cout<<"Could not open or find the image"<< endl;
            return -1;
        }
        cv::namedWindow("Display", 0);  // 0:表示可压缩 , 当显示图片太大,只能部分显示时使用此参数
        cv::resizeWindow("Display", cv::Size(640, 480));
        cv::imshow("Display", src);
        cv::waitKey(0 );

        return 0;

    return a.exec();


}

感谢参考链接

CMakeLists.txt配置OpenCV_陨星落云的博客-CSDN博客_cmakelists.txt opencv

CMakeLists.txt上OpenCV库配置_mylaf的博客-CSDN博客_cmakelists.txt opencv

Windows通过CmakeLists.txt使用OpenCV,适用于QT、Clion_Cynthia.Chen的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值