Mac安装Qt配置opencv+pcl

环境:macos+Qt5.14.2+opencv4.2.0_1+pcl1.9.1

安装
2、brew安装
打开:https://www.ipaddress.com/
在搜索框输入:raw.githubusercontent.com
Mac安装Qt配置opencv+pcl_第1张图片
修改系统文件hosts文件
Mac安装Qt配置opencv+pcl_第2张图片
在/etc/文件下找到hosts文件打开,添加自己对应内容,例如:199.232.68.133 raw.githubusercontent.com
Mac安装Qt配置opencv+pcl_第3张图片
安装brew:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
安装wget:brew install wget
安装cmake:brew install cmake

2、 安装Qt
下载:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg
安装:直接根据需求安装即可
*3、 安装opencv4.2.0_1:*终端执行brew install opencv
*4、 安装pcl1.9.1:*参考 https://blog.csdn.net/OEMT_301/article/details/104250207
配置
1、 首先新建Qt项目
2、 Opencv项目:
在.pro文件中添加

INCLUDEPATH += /usr/local/Cellar/opencv/4.2.0_1/include
INCLUDEPATH += /usr/local/Cellar/opencv/4.2.0_1/include/opencv4
INCLUDEPATH += /usr/local/Cellar/opencv/4.2.0_1/include/opencv4/opencv2
LIBS += -L/usr/local/Cellar/opencv/4.2.0_1/lib -lopencv_gapi \
        -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired \
        -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm \
        -lopencv_highgui -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hfs \
        -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg \
        -lopencv_rgbd -lopencv_saliency -lopencv_sfm -lopencv_stereo -lopencv_structured_light \
        -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching \
        -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot \
        -lopencv_videostab -lopencv_videoio -lopencv_xfeatures2d -lopencv_shape -lopencv_ml \
        -lopencv_ximgproc -lopencv_video -lopencv_xobjdetect -lopencv_objdetect \
        -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_flann -lopencv_xphoto \
        -lopencv_photo -lopencv_imgproc -lopencv_core

实例:

// main.cpp
#include 
#include 

using namespace std;
using namespace cv;

int main()
{
    Mat img = Mat::zeros(Size(400,400), CV_8UC3);
    imshow("img", img);
    waitKey(0);
    cout << "hello" << endl;
    return 0;
}

3、 pcl项目:
在.pro文件中添加

INCLUDEPATH += /usr/local/Cellar/eigen/3.3.7/include/eigen3
INCLUDEPATH += /usr/local/Cellar/vtk/8.2.0_7/include/vtk-8.2
LIBS += /usr/local/Cellar/vtk/8.2.0_7/lib/libvtk*.dylib

INCLUDEPATH += /usr/local/Cellar/boost/1.72.0/include
LIBS += /usr/local/Cellar/boost/1.72.0/lib/libboost_*.dylib

INCLUDEPATH += /usr/local/Cellar/pcl/1.9.1_5/include/pcl-1.9
LIBS += /usr/local/Cellar/pcl/1.9.1_5/lib/libpcl_*.dylib

实例

// main.cpp
#include 
#include 
#include 
#include 
#include 


using namespace std;
using namespace pcl;
using namespace io;

int main()
{
    PointCloud<PointXYZ>::Ptr cloud (new PointCloud<PointXYZ>);
    io::loadPCDFile("pcd文件路径", *cloud);
    if (cloud==NULL)
    {
        cerr << "can't read file bunny.pcd" << endl;
        return -1;
    }

    boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));

    pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> fildColor(cloud, "z"); // 按照z字段进行渲染

    viewer->addPointCloud<pcl::PointXYZ>(cloud, fildColor, "sample cloud");
    viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "sample cloud"); // 设置点云大小

    while (!viewer->wasStopped())
    {
        viewer->spinOnce(100);
        boost::this_thread::sleep(boost::posix_time::microseconds(100000));
    }

    return 0;
}

注:.pro中要添加自己对应的文件路径

你可能感兴趣的:(OpenCV,C++,mac)