QT5.14+OpenCV4.5.5+ITK5.2.1开发环境搭建

QT5.14+OpenCV4.5.5

ITK编译安装

 

  • 勾选Advanced,搜索“CMAKE_BUILD_TYPE”,选择编译版本Debug或Release

   

  • 搜索“opencv”,勾选“Module_ITKVideoBridgeOpenCV” 

   

  •  搜索“prefix”,更新“CMAKE_INSTALL_PREFIX”为ITK最终期望安装的目录

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==编辑 

  • 点击Configure,报错,再次搜索opencv,更新“OpenCV_DIR”

 

  • 点击Configure,显示Configuring done,点击Generate,显示Generating done,点击Open Project

  

  

  • 在VS2022中,选择Debug x64模式,右键点击项目名,选择生成

  

  • 右键点击INSTALL,选择生成
  • 均无报错,ITK编译完成

 QT5.14+OpenCV4.5.5+ITK5.2.1测试

  • 新建一个QT窗口项目
  • 在.pro文件中添加:
# opencv
LIBS += -LD:\Software\opencv\build\x64\vc15\lib \
        -lopencv_world455d
# release模式将-lopencv_world455d 替换为 -lopencv_world455

INCLUDEPATH += D:\Software\opencv\build\include

# itk
INCLUDEPATH +=E:\Downloads\opencv\build\include \
              D:\ITK\ITK\include\ITK-5.2

LIBS += shell32.lib\
        AdvAPI32.Lib\
        rpcrt4.lib\
        WS2_32.lib

LIBS += -LD:\ITK\ITK\lib \
            -lITKBiasCorrection-5.2 \
            -lITKColormap-5.2 \
            -lITKCommon-5.2 \
            -lITKConvolution-5.2 \
            -lITKDeformableMesh-5.2 \
            -lITKDenoising-5.2 \
            -lITKDICOMParser-5.2 \
            -lITKDiffusionTensorImage-5.2 \
            -litkdouble-conversion-5.2 \
            -lITKEXPAT-5.2 \
            -lITKFastMarching-5.2 \
            -lITKFFT-5.2 \
            -litkgdcmcharls-5.2 \
            -litkgdcmCommon-5.2 \
            -litkgdcmDICT-5.2 \
            -litkgdcmDSED-5.2 \
            -litkgdcmIOD-5.2 \
            -litkgdcmjpeg12-5.2 \
            -litkgdcmjpeg16-5.2 \
            -litkgdcmjpeg8-5.2 \
            -litkgdcmMEXD-5.2 \
            -litkgdcmMSFF-5.2 \
            -litkgdcmopenjp2-5.2 \
            -litkgdcmsocketxx-5.2 \
            -lITKgiftiio-5.2 \
            -litkhdf5_cpp-static-5.2_D \
            -litkhdf5-static-5.2_D \
# release模式将
#-litkhdf5_cpp-static-5.2_D
#-litkhdf5-static-5.2_D
#替换为
#-litkhdf5-shared-5.2 \
#-litkhdf5_cpp-shared-5.2 \
            -lITKImageFeature-5.2 \
            -lITKImageIntensity-5.2 \
            -lITKIOBioRad-5.2 \
            -lITKIOBMP-5.2 \
            -lITKIOBruker-5.2 \
            -lITKIOCSV-5.2 \
            -lITKIOGDCM-5.2 \
            -lITKIOGE-5.2 \
            -lITKIOGIPL-5.2 \
            -lITKIOHDF5-5.2 \
            -lITKIOImageBase-5.2 \
            -lITKIOIPL-5.2 \
            -lITKIOJPEG-5.2 \
            -lITKIOJPEG2000-5.2 \
            -lITKIOLSM-5.2 \
            -lITKIOMeshBase-5.2 \
            -lITKIOMeshBYU-5.2 \
            -lITKIOMeshFreeSurfer-5.2 \
            -lITKIOMeshGifti-5.2 \
            -lITKIOMeshOBJ-5.2 \
            -lITKIOMeshOFF-5.2 \
            -lITKIOMeshVTK-5.2 \
            -lITKIOMeta-5.2 \
            -lITKIOMINC-5.2 \
            -lITKIOMRC-5.2 \
            -lITKIONIFTI-5.2 \
            -lITKIONRRD-5.2 \
            -lITKIOPNG-5.2 \
            -lITKIOSiemens-5.2 \
            -lITKIOSpatialObjects-5.2 \
            -lITKIOStimulate-5.2 \
            -lITKIOTIFF-5.2 \
            -lITKIOTransformBase-5.2 \
            -lITKIOTransformHDF5-5.2 \
            -lITKIOTransformInsightLegacy-5.2 \
            -lITKIOTransformMatlab-5.2 \
            -lITKIOVTK-5.2 \
            -lITKIOXML-5.2 \
            -litkjpeg-5.2 \
            -lITKKLMRegionGrowing-5.2 \
            -lITKLabelMap-5.2 \
            -litklbfgs-5.2 \
            -lITKMarkovRandomFieldsClassifiers-5.2 \
            -lITKMathematicalMorphology-5.2 \
            -lITKMesh-5.2 \
            -lITKMetaIO-5.2 \
            -litkminc2-5.2 \
            -litkNetlibSlatec-5.2 \
            -lITKniftiio-5.2 \
            -lITKNrrdIO-5.2 \
            -litkopenjpeg-5.2 \
            -lITKOptimizers-5.2 \
            -lITKOptimizersv4-5.2 \
            -lITKPath-5.2 \
            -lITKPDEDeformableRegistration-5.2 \
            -litkpng-5.2 \
            -lITKPolynomials-5.2 \
            -lITKQuadEdgeMesh-5.2 \
            -lITKQuadEdgeMeshFiltering-5.2 \
            -lITKRegionGrowing-5.2 \
            -lITKRegistrationMethodsv4-5.2 \
            -lITKSmoothing-5.2 \
            -lITKSpatialObjects-5.2 \
            -lITKStatistics-5.2 \
            -litksys-5.2 \
            -lITKTestKernel-5.2 \
            -litktestlib-5.2 \
            -litktiff-5.2 \
            -lITKTransform-5.2 \
            -lITKTransformFactory-5.2 \
            -litkv3p_netlib-5.2 \
            -litkvcl-5.2 \
            -lITKVideoCore-5.2 \
            -lITKVideoIO-5.2 \
            -litkvnl-5.2 \
            -lITKVNLInstantiation-5.2 \
            -litkvnl_algo-5.2 \
            -lITKVTK-5.2 \
            -lITKWatersheds-5.2 \
            -litkzlib-5.2 \
            -lITKznz-5.2 \
  • mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

#include "opencv2/opencv.hpp"
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkRGBPixel.h"
#include "itkJPEGImageIO.h"
#include "itkJPEGImageIOFactory.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    itk::JPEGImageIOFactory::RegisterOneFactory();
    using PixelType = itk::RGBPixel<unsigned char>;
    using ImageType = itk::Image<PixelType, 2>;
    using ReaderType = itk::ImageFileReader<ImageType>;
    auto               reader = ReaderType::New();
    const char * const filename = "D:\\DVA.jpg";
    reader->SetFileName(filename);
    try
    {
        reader->Update();
    }
    catch (const itk::ExceptionObject & e)
    {
        std::cerr << "exception in file reader " << std::endl;
        std::cerr << e.GetDescription() << std::endl;
        std::cerr << e.GetLocation() << std::endl;
    }

    auto rst = reader->GetOutput();
    std::cout << rst << std::endl;

}

MainWindow::~MainWindow()
{
    delete ui;
}

  • 输出

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热度__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值