/SLMaster

SLMaster is a relatively complete open-source Structured Light 3D camera software. You can use it to complete a series of operations including calibration, stripe encoding, 3D reconstruction, and point cloud post-processing. Welcome Star⭐ And Fork🍴.

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

SLMaster

win-badge release-badge download-badge download-latest

English | 简体中文

SLMaster是一个较为完整的结构光3D相机软件。您可以使用它对任意被测物体完成静态扫描或者实时动态扫描。

该软件相关博客可见公众号专栏:从0到1搭建一套属于你自己的高精度实时结构光3D相机,欢迎关注公众号。

请动动小手点击右上角的Star⭐,您的Star⭐和关注是博主源源不断的动力。

有任何问题和bug反馈请提Issue。谢绝不给Star⭐,反复咨询解决方案的情况。

想先体验该软件?

请在Release页面下载exe安装文件,但请注意exe安装方式不支持GPU加速。

更多使用与开发文档请查阅Wiki Document

付费咨询/项目合作请加QQ:1369215984

依赖 🍁

SLMaster依赖的库包含如下几点:

如果电脑没有NVIDIA GPU,软件仍然能够使用CPU加速有效运行,此时可无需opencv_contribute依赖。

编译 🚀

当您获取到本库代码之后,首先检查上述依赖,若不满足依赖条件,可通过点击上述依赖库跳转至对应的库,随后下载其代码并进行编译。以上面库皆没有编译安装的环境为例,编译顺序如下:

  1. 下载MVViewer并进行安装。
  2. 下载OpenCVopencv_contribute并进行编译(若WITH_CUDA未勾选请勾选上)
  3. 下载Qt5.15并选择MSVC编译套件安装
  4. 下载VTK并令VTK_GROUP_ENABLE_Qt=YES进行编译
  5. 下载PCL-1.12.1-AllInOne进行安装,安装完成后删除PCL安装文件夹下的除3rdParty外的其它任何文件,并将3rdParty文件夹中的VTK文件夹删除
  6. 下载PCL并选择好第三方库路径进行编译
  7. 打开命令行窗口,键入git clone --recursive https://github.com/Practice3DVision/SLMaster.git克隆SLMaster
  8. 打开您喜欢的编译器,使用Ninja生成器,将编译目录设置为${work_space}/build,编译运行SLMasterGui即可

注意! 每当编译好一个库都应当在系统环境变量中加入。例如,编译完成OpenCV后,设置好系统环境变量OpenCV_DIR路径。

您可以打开SLMaster中的BUILD_TESTBUILD_PERF选项,这将编译google_testgoogle_benchmark中的测试用例,这些测试用例同样是一份非常不错的示例代码。

使用 🌈

离线使用情况下,可通过进入扫描模式->离线扫描模式->选择左相机文件夹->选择右相机文件夹->开始扫描->单次扫描测试离线重建效果,软件提供一组离线数据集位于安装目录/data/下。

如您需要更改算法参数以测试自己的离线数据集,请通过更改安装目录/gui/qml/res/config下的相机配置文件,该文件记录了3D相机所有的状态,包括硬件组成、算法参数等。

如您需要接入硬件并执行在线功能,请修改安装目录/gui/qml/res/config下的相机配置文件,确保硬件组成参数与您所用的硬件设备一致。

部分功能 💡

功能 示例 功能 示例
单双三目重建 在线扫描功能 实时重建 实时扫描功能
硬件在线调试 十字线校准功能 条纹生成 条纹生成功能
相机标定 离线相机标定功能 误差分布显示 标定误差分布图显示功能
投影仪标定 在线投影仪标定功能 点云后处理 后处理功能

License 📕

SLMaster当前使用AGPL-3.0许可证.

Star History ⭐

Star History Chart

Visitor count ⚡