zoukankan      html  css  js  c++  java
  • Ubuntu 18 & Qt4.5 下安装并使用OpenCv 4.3

    Ubuntu18 下源码编译OpenCv4.4 并在Qt中使用

    更新包

    # Install the newest versions of all packages currently installed
    sudo apt-get -y upgrade
    # Handles changing dependencies with new versions of packages
    sudo apt-get -y dist-upgrade
    # Remove packages that are now no longer needed
    sudo apt-get -y autoremove
    
    

    安装OpenCV所需要的依赖

    # Build tools:
    sudo apt-get install -y build-essential cmake
    
    # GUI (if you want to use GTK instead of Qt, replace 'qt5-default' with 'libgtkglext1-dev' and remove '-DWITH_QT=ON' option in CMake):
    sudo apt-get install -y qt5-default libvtk6-dev
    
    # Media I/O:
    sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev libopenexr-dev libgdal-dev
    
    # Video I/O:
    sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev
    
    # Parallelism and linear algebra libraries:
    sudo apt-get install -y libtbb-dev libeigen3-dev
    
    # Python:
    sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy
    
    # Java:
    sudo apt-get install -y ant default-jdk
    
    # Documentation:
    sudo apt-get install -y doxygen
    
    

    安装OpenCV

    mkdir build & cd build
    sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_EIGEN=ON ..
    sudo make	# compile
    sudo make install	# install
    sudo ldconfig	# load config
    

    Qt项目中配置

    CMAKE

    在Cmake构建的项目中,需要在CmakeLists.txt中添加find_package 和target_link_libraries,帮助cmake构建时候查找包与库

    find_package(OpenCV REQUIRED)
    
    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES})
    

    添加好opencv库的cmake工程文件类似如下:

    cmake_minimum_required(VERSION 2.8.12)
    
    project(SongCamera)
    
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    set(CMAKE_AUTOMOC ON)
    
    find_package(Qt5Core REQUIRED)
    find_package(OpenCV REQUIRED)
    
    FILE(GLOB SC_FILES "*.cpp" "*.h")
    
    add_executable(${PROJECT_NAME} ${SC_FILES})
    
    target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick) # 指定lib库的位置
    target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES})
    
    

    QMAKE

    Qmake构建Qt程序更方便, 在构建OpenCV的程序时候需要添加Include的文件夹和库,在这里注意include的路径要包含opencv4那一级.添加库后的.pro文件如下:

    #-------------------------------------------------
    #
    # Project created by QtCreator 2020-10-22T23:07:21
    #
    #-------------------------------------------------
    
    QT       += core gui
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
    
    TARGET = EagleEye
    TEMPLATE = app
    
    # The following define makes your compiler emit warnings if you use
    # any feature of Qt which has been marked as deprecated (the exact warnings
    # depend on your compiler). Please consult the documentation of the
    # deprecated API in order to know how to port your code away from it.
    DEFINES += QT_DEPRECATED_WARNINGS
    
    # You can also make your code fail to compile if you use deprecated APIs.
    # In order to do so, uncomment the following line.
    # You can also select to disable deprecated APIs only up to a certain version of Qt.
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    
    
    SOURCES += 
            main.cpp 
            mainwindow.cpp 
        cvwidget.cpp
    
    HEADERS += 
            mainwindow.h 
        cvwidget.h
    
    FORMS += 
            mainwindow.ui
    
    ##>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    INCLUDEPATH += /usr/local/include
     /usr/local/include/opencv4/opencv2
     /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
     /usr/local/lib/libopencv_videoio.so
    
    ##<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    

    参考文章

    Ubuntu18源码编译OpenCV4.3

  • 相关阅读:
    nginx+keepalived实现负载均衡nginx的高可用
    php7 安装swoole4.0.4
    Cannot find config.m4. Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module的 解决方法
    简析小黑是如何盗取cookie登录用户账号
    一个'&'引起md5签名不一致问题
    linux学习:curl与netcat用法整理
    swoole+websocket+redis实现一对一聊天
    使用COOKIE实现登录 VS 使用SESSION实现登录
    巧用PHP中__get()魔术方法
    用户表分表原理
  • 原文地址:https://www.cnblogs.com/NoPolar/p/13875499.html
Copyright © 2011-2022 走看看