# xj-auto-recognition **Repository Path**: sn-yang/xj-auto-recognition ## Basic Information - **Project Name**: xj-auto-recognition - **Description**: No description available - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-13 - **Last Updated**: 2024-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 斑点识别工具 ## 准备开发环境 - Qt: 5.10 [下载](https://download.qt.io/archive/qt/) - Point Cloud Library 1.12.1 x64 [下载](https://github.com/PointCloudLibrary/pcl/releases) `OPENNI2` 安装到 `C:\Program Files\PCL 1.12.1\3rdParty\OpenNI2` - C++编译:预处理器定义 ```txt _CRT_SECURE_NO_WARNINGS BOOST_ALL_NO_LIB BOOST_USE_WINDOWS_H BOOST_PP_IIF_BOOST_PP_BOOL_ NOMINMAX _SCL_SECURE_NO_WARNINGS _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING ``` ### 环境变量 | 变量名 | 示例值 | | ----------------- | ------------------------------------------------------- | | PCL_ROOT | `C:\Program Files\PCL 1.12.1` | | OPENNI2_INCLUDE64 | `C:\Program Files\PCL 1.12.1\3rdParty\OpenNI2\Include\` | | OPENNI2_LIB64 | `C:\Program Files\PCL 1.12.1\3rdParty\OpenNI2\Lib\` | | OPENNI2_REDIST64 | `C:\Program Files\PCL 1.12.1\3rdParty\OpenNI2\Redist\` | | QT_PATH | `C:\Qt\Qt5.10.0\5.10.0\msvc2015_64` | | PATH | `%PCL_ROOT%\bin` | | PATH | `%PCL_ROOT%\3rdParty\FLANN\bin` | | PATH | `%PCL_ROOT%\3rdParty\OpenNI2\Tools` | | PATH | `%PCL_ROOT%\3rdParty\Qhull\bin` | | PATH | `%PCL_ROOT%\3rdParty\VTK\bin` | ### 编译 VTK 编译 VTK 是为了让 PCL 可以结合 QT。 - VTK 9.1 [下载](https://vtk.org/download/) - CMAKE 编译 ```bat SET VTK_SRC=C:\0N\github\VTK-9.1.0 pushd %VTK_SRC% @REM rmdir /s/q build @REM rmdir /s/q install @REM mkdir build @REM mkdir install pushd build @REM for vtk 8.x @REM cmake -G "Visual Studio 17 2022" -A x64 ^ @REM -DCMAKE_DEBUG_POSTFIX="-gd" ^ @REM -DCMAKE_INSTALL_PREFIX="%VTK_SRC%\install" ^ @REM -DBUILD_SHARED_LIBS=ON ^ @REM -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ^ @REM -DCMAKE_CXX_MP_FLAG=ON ^ @REM -DVTK_Group_Qt=ON ^ @REM -DVTK_QT_VERSION=5 ^ @REM -DOPENGL_gl_LIBRARY="opengl32" ^ @REM -DOPENGL_glu_LIBRARY="glu32" ^ @REM -DVTK_RENDERING_BACKEND="OpenGL2" ^ @REM -DModule_vtkGUISupportQtOpenGL=ON ^ @REM -DModule_vtkImagingOpenGL2=ON ^ @REM .. @REM for vtk 9.x cmake -G "Visual Studio 17 2022" -A x64 ^ -DCMAKE_INSTALL_PREFIX="%VTK_SRC%\install" ^ -DBUILD_SHARED_LIBS=ON ^ -DCMAKE_CONFIGURATION_TYPES="Debug;Release" ^ -DCMAKE_CXX_MP_FLAG=ON ^ -DVTK_GROUP_ENABLE_QT=WANT ^ -DVTK_MODULE_ENABLE_VTK_GUISupportQt=WANT ^ -DVTK_MODULE_ENABLE_VTK_GUISupportQtQuick=NO ^ -DVTK_MODULE_ENABLE_VTK_GUISupportQtSQL=NO ^ -DVTK_MODULE_ENABLE_VTK_RenderingQt=WANT ^ -DVTK_MODULE_ENABLE_VTK_ViewsQt=WANT ^ -DVTK_QT_VERSION=5 ^ .. cmake --build . --config Debug --target ALL_BUILD cmake --build . --config Debug --target install cmake --build . --config Release --target ALL_BUILD cmake --build . --config Release --target install popd popd ``` ### 参考 - [PCL+QT5+VTK 的安装调通](https://blog.csdn.net/asayuki_fsk/article/details/103297323) - [QT 5.15.2+ VS 2019 + PCL 1.11.1 + LAS 开发环境配置手册](https://zhuanlan.zhihu.com/p/342840422) ## 代码说明 - `app.config.json` 配置文件 对应的类 `core\ApplicationConfig.cpp` - `core\ApplicationConfig.cpp`包含 - `core\ControllerSettings.h` 类: 控制器的设置 - `core\ControllerAdapter.h` 类: 控制器适配器 运动控制器和测头控制器的接口代码写到这里 ## 设计 ## 部署 - 项目数据文件位置 `%APPDATA%\xj-auto-recognition` `C:\Users\HUAWEI\AppData\Roaming\xj-auto-recognition`