├── SLAM研讨会 └── 000╤зSLAM╫ў╥╡ │ └── 2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓ │ ├── ╒┬╣·╖ц-├ц╧Є╘Ў╟┐╧╓╩╡╡─╡е─┐╩╙╛ї╣▀╨╘SLAM╦у╖и╞└▓т.pdf │ ├── ╠╖╞╜-Towards Dense Monocular SLAM.pdf │ ├── ╫▐╡д╞╜-╗╖╛│╙ы╘╪╠х.pdf │ ├── ╬т╥у║ь-markerSLAM & FMD SLAM.pdf │ └── ▓щ║ь▒Є-Flow-based Learning for SLAM-2019.pdf ├── homework_1 ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ ├── namePicture.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── namePicture.cpp.o │ │ │ └── progress.make │ │ └── progress.marks │ ├── Makefile │ ├── cmake_install.cmake │ └── namePicture ├── namePicture.cpp └── 作业 ├── homework_10 ├── 11.jpg └── 作业 ├── homework_11 ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── epipolar.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── epipolar.cpp.o │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── cmake_install.cmake │ ├── epipolar │ ├── rgb1.ppm │ └── rgb2.ppm ├── epipolar.cpp ├── result.png ├── 从零开始学习SLAM.png └── 矩阵分解 ├── homework_12 ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ ├── progress.marks │ │ └── virtual-billboard.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── progress.make │ │ │ └── virtual-billboard.cpp.o │ ├── Makefile │ ├── ad.jpg │ ├── cmake_install.cmake │ ├── cvlife.jpg │ └── virtual-billboard ├── opencv学习 ├── virtual-billboard (复件).cpp └── virtual-billboard.cpp ├── homework_13 ├── practice_pointCloudFusion.zip └── practice_pointCloudFusion │ ├── CMakeLists.txt │ ├── data │ ├── cameraTrajectory.txt │ ├── depth │ │ ├── depth0.png │ │ ├── depth1.png │ │ └── depth2.png │ └── rgb │ │ ├── rgb0.png │ │ ├── rgb1.png │ │ └── rgb2.png │ ├── include │ └── slamBase.hpp │ ├── src │ ├── CMakeLists.txt │ ├── pointCloudFusion.cpp │ └── slamBase.cpp │ ├── 点云学习 │ └── 计算机视觉life公众号菜单点击“知识星球”了解详情.png ├── homework_14 ├── fliter │ ├── CMakeLists.txt │ ├── filtered.png │ ├── noise.png │ ├── originalPointCloud.png │ ├── src │ │ ├── CMakeLists.txt │ │ └── pointCloudFilter.cpp │ ├── 从零开始学习SLAM.png │ └── 输出点云 └── 点云滤波练习题目.zip ├── homework_15 ├── smoothing │ ├── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── pointCloud2Mesh.cpp │ ├── 从零开始学习SLAM.png │ └── 点云采样方法 └── 作业15-点云平滑及法线估计及显示.zip ├── homework_16 ├── vixel │ ├── CMakeLists.txt │ ├── src │ │ ├── CMakeLists.txt │ │ └── pointCloud2Mesh.cpp │ ├── 从零开始学习SLAM.png │ └── 重建方法 └── 练习16-点云网格化代码框架.zip ├── homework_17 ├── 17作业g2o.zip ├── g2o.png ├── g2o.tar.gz └── projectg2o │ ├── BA-3Dto2D.cpp │ ├── CMakeLists.txt │ ├── cmake_modules │ ├── FindCSparse.cmake │ ├── FindEigen3.cmake │ └── FindG2O.cmake │ ├── p2d.txt │ ├── p3d.txt │ ├── 从零开始学习SLAM.png │ └── 参考输出.png ├── homework_18 ├── perfect_g2o │ ├── 0.png │ ├── 1.png │ ├── 2.png │ ├── CMakeLists.txt │ ├── cmake_modules │ │ ├── FindCeres.cmake │ │ ├── FindEigen3.cmake │ │ └── FindG2O.cmake │ ├── directBA.cpp │ ├── points.txt │ ├── poses.txt │ ├── 从零开始学习SLAM.png │ ├── 优化目标函数.png │ └── 预期结果.png ├── 掌握g2o边的编程套路.pdf └── 练习18-g2o边代码框架.zip ├── homework_19_20 ├── 19.jpeg ├── CMakeLists.txt ├── homework_19_20 │ ├── 19.jpeg │ ├── CMakeLists.txt │ ├── build │ │ ├── CMakeCache.txt │ │ ├── CMakeFiles │ │ │ ├── 3.5.1 │ │ │ │ ├── CMakeCCompiler.cmake │ │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ │ ├── CMakeSystem.cmake │ │ │ │ ├── CompilerIdC │ │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ │ └── a.out │ │ │ │ └── CompilerIdCXX │ │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ │ └── a.out │ │ │ ├── CMakeDirectoryInformation.cmake │ │ │ ├── CMakeOutput.log │ │ │ ├── ICP.dir │ │ │ │ ├── CXX.includecache │ │ │ │ ├── DependInfo.cmake │ │ │ │ ├── build.make │ │ │ │ ├── cmake_clean.cmake │ │ │ │ ├── depend.internal │ │ │ │ ├── depend.make │ │ │ │ ├── flags.make │ │ │ │ ├── icp.cpp.o │ │ │ │ ├── link.txt │ │ │ │ └── progress.make │ │ │ ├── Makefile.cmake │ │ │ ├── Makefile2 │ │ │ ├── TargetDirectories.txt │ │ │ ├── cmake.check_cache │ │ │ ├── feature_tests.bin │ │ │ ├── feature_tests.c │ │ │ ├── feature_tests.cxx │ │ │ └── progress.marks │ │ ├── ICP │ │ ├── Makefile │ │ ├── SaveTrajectory.csv │ │ ├── cmake_install.cmake │ │ ├── gt.txt │ │ ├── new.txt │ │ ├── trajectory.txt │ │ ├── viorb.txt │ │ └── viorb00.txt │ ├── icp (复件).cpp │ ├── icp.cpp │ ├── icp00.cpp │ ├── trajectory.txt │ ├── ┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png │ └── ╩ф│Ў▓╬┐╝╜с╣√.png ├── icp (复件).cpp ├── icp.cpp ├── icp00.cpp ├── pointcloud_to_laserscan.tar.gz ├── trajectory.txt ├── ┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png ├── ╩ф│Ў▓╬┐╝╜с╣√.png ├── ╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄ │ └── icp.cpp ├── 作业20-ICP应用实践-代码框架.zip ├── 作业20-小六-ICP应用实践-参考代码.zip └── 参考 │ ├── CMakeLists.txt │ ├── icp.cpp │ ├── trajectory.txt │ ├── ┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png │ └── ╩ф│Ў▓╬┐╝╜с╣√.png ├── homework_2 ├── CMakeLists.txt ├── Eigen.cpp ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── eigen.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── Eigen.cpp.o │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── cmake_install.cmake │ └── eigen └── 作业 ├── homework_21-四元数插值-代码框架 ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ ├── progress.marks │ │ └── slerpQuaternion.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── progress.make │ │ │ └── slerpQuaternion.cpp.o │ ├── Makefile │ ├── cmake_install.cmake │ └── slerpQuaternion ├── slerpQuaternion.cpp ├── 从零开始学习SLAM星球介绍.png └── 参考结果.png ├── homework_3 ├── 0.png ├── 1.png ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ ├── newFeather.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── cppNewFeather.cpp.o │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ │ └── progress.marks │ ├── Makefile │ ├── cmake_install.cmake │ └── newFeather ├── cppNewFeather.cpp └── 作业 ├── homework_4 ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── classCross.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── classCross.cpp.o │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ │ ├── cmake.check_cache │ │ ├── cross.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── cross.cpp.o │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── classCross │ ├── cmake_install.cmake │ └── cross ├── classCross.cpp ├── cross.cpp ├── 作业 └── 作业四.jpg ├── homework_5 ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── Progress │ │ │ ├── 1 │ │ │ └── count.txt │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ ├── progress.marks │ │ └── rotationTransforms.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ ├── Makefile │ ├── cmake_install.cmake │ └── rotationTransforms ├── result.txt ├── rotationTransforms.cpp └── 作业 ├── homework_6 ├── 作业 └── 作业6.jpg ├── homework_7 ├── 1jpg └── 作业7:理论推导题.pdf ├── homework_8 ├── CMakeLists.txt ├── Project.xml ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── draw_trajectory.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── draw_trajectory.cpp.o │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ └── progress.make │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── cmake_install.cmake │ ├── draw_trajectory │ └── trajectory.txt ├── draw_trajectory.cpp ├── trajectory.txt └── 作业 ├── homework_9 ├── CMakeLists.txt ├── build │ ├── 1.png │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.5.1 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ ├── progress.marks │ │ └── undistort_image.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── progress.make │ │ │ └── undistort_image.cpp.o │ ├── Makefile │ ├── cmake_install.cmake │ ├── test.png │ └── undistort_image └── undistort_image.cpp └── icp.pdf /SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╒┬╣·╖ц-├ц╧Є╘Ў╟┐╧╓╩╡╡─╡е─┐╩╙╛ї╣▀╨╘SLAM╦у╖и╞└▓т.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╒┬╣·╖ц-├ц╧Є╘Ў╟┐╧╓╩╡╡─╡е─┐╩╙╛ї╣▀╨╘SLAM╦у╖и╞└▓т.pdf -------------------------------------------------------------------------------- /SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╠╖╞╜-Towards Dense Monocular SLAM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╠╖╞╜-Towards Dense Monocular SLAM.pdf -------------------------------------------------------------------------------- /SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╫▐╡д╞╜-╗╖╛│╙ы╘╪╠х.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╫▐╡д╞╜-╗╖╛│╙ы╘╪╠х.pdf -------------------------------------------------------------------------------- /SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╬т╥у║ь-markerSLAM & FMD SLAM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/╬т╥у║ь-markerSLAM & FMD SLAM.pdf -------------------------------------------------------------------------------- /SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/▓щ║ь▒Є-Flow-based Learning for SLAM-2019.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/SLAM研讨会/000╤зSLAM╫ў╥╡/2019.03.30╩╙╜ч╬▐╧▐-SLAM╫и╠т╤╨╠╓/▓щ║ь▒Є-Flow-based Learning for SLAM-2019.pdf -------------------------------------------------------------------------------- /homework_1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | 3 | set(CMAKE_CXX_FLAGS "-std=c++11") 4 | find_package(OpenCV REQUIRED) 5 | include_directories(${OpenCV_INCLUDE_DIRS}) 6 | add_executable(namePicture namePicture.cpp) 7 | target_link_libraries(namePicture ${OpenCV_LIBS}) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-43-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-43-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-43-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-43-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_1") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_1/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_1/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_1/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_1/build/CMakeFiles/namePicture.dir 4 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/namePicture.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_1/namePicture.cpp" "/home/lyy/from_0_to_1_for_slam/homework_1/build/CMakeFiles/namePicture.dir/namePicture.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/opt/ros/kinetic/include/opencv-3.3.1-dev" 14 | "/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv" 15 | ) 16 | 17 | # Targets to which this target links. 18 | set(CMAKE_TARGET_LINKED_INFO_FILES 19 | ) 20 | 21 | # Fortran module output directory. 22 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 23 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/namePicture.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/namePicture.dir/namePicture.cpp.o" 3 | "namePicture.pdb" 4 | "namePicture" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/namePicture.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/namePicture.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/namePicture.dir/namePicture.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/CMakeFiles/namePicture.dir/namePicture.cpp.o -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/namePicture.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_1/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_1/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_1 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_1/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_1/build/namePicture: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_1/build/namePicture -------------------------------------------------------------------------------- /homework_1/namePicture.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace std; 10 | using namespace cv; 11 | 12 | int main() 13 | { 14 | cv::String path="/home/lyy/from_0_to_1_for_slam/homework_1/data/";//待处理图片路径 15 | cv::String dest="/home/lyy/from_0_to_1_for_slam/homework_1/dst/";//保存处理后的图片路径 16 | cv::String savefilename; 17 | vector filenames; 18 | Mat srcImg,dstImg; 19 | 20 | cv::glob(path,filenames);//glob 寻找与模式匹配的文件路径 21 | for(int i=0;i=10&&i<99) 31 | { 32 | savefilename=dest+"00"+to_string(i)+".png"; 33 | cv::imwrite(savefilename,dstImg); 34 | } 35 | if(i>=100&&i<999) 36 | { 37 | savefilename=dest+"0"+to_string(i)+".png"; 38 | cv::imwrite(savefilename,dstImg); 39 | } 40 | if(i>=1000&&i<9999) 41 | { 42 | savefilename=dest+to_string(i)+".png"; 43 | cv::imwrite(savefilename,dstImg); 44 | } 45 | 46 | } 47 | 48 | return 0; 49 | } 50 | 51 | -------------------------------------------------------------------------------- /homework_1/作业: -------------------------------------------------------------------------------- 1 | 请编程实现将文件夹/rgb下以时间命名的序列图片重新命名为0000-9999的格式。 2 | -------------------------------------------------------------------------------- /homework_10/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_10/11.jpg -------------------------------------------------------------------------------- /homework_10/作业: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_10/作业 -------------------------------------------------------------------------------- /homework_11/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( epipolar ) 3 | 4 | set( CMAKE_CXX_FLAGS "-std=c++11" ) 5 | include_directories("/usr/include/eigen3") 6 | 7 | find_package( OpenCV 3.4.1 REQUIRED ) 8 | 9 | include_directories( ${OpenCV_INCLUDE_DIRS} ) 10 | 11 | add_executable( epipolar epipolar.cpp ) 12 | 13 | target_link_libraries( epipolar ${OpenCV_LIBS} ) 14 | 15 | 16 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-47-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-47-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-47-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-47-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_11") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_11/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/Makefile.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # The generator used is: 5 | set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") 6 | 7 | # The top level Makefile was generated from the following files: 8 | set(CMAKE_MAKEFILE_DEPENDS 9 | "CMakeCache.txt" 10 | "../CMakeLists.txt" 11 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 12 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 13 | "CMakeFiles/3.5.1/CMakeSystem.cmake" 14 | "/usr/local/share/OpenCV/OpenCVConfig-version.cmake" 15 | "/usr/local/share/OpenCV/OpenCVConfig.cmake" 16 | "/usr/local/share/OpenCV/OpenCVModules-release.cmake" 17 | "/usr/local/share/OpenCV/OpenCVModules.cmake" 18 | "/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake" 19 | "/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake" 20 | "/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake" 21 | "/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake" 22 | "/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake" 23 | "/usr/share/cmake-3.5/Modules/CMakeParseArguments.cmake" 24 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake" 25 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake" 26 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake" 27 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake" 28 | "/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake" 29 | "/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake" 30 | "/usr/share/cmake-3.5/Modules/FindPackageMessage.cmake" 31 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake" 32 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake" 33 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake" 34 | "/usr/share/cmake-3.5/Modules/Platform/Linux.cmake" 35 | "/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake" 36 | ) 37 | 38 | # The corresponding makefile is: 39 | set(CMAKE_MAKEFILE_OUTPUTS 40 | "Makefile" 41 | "CMakeFiles/cmake.check_cache" 42 | ) 43 | 44 | # Byproducts of CMake generate step: 45 | set(CMAKE_MAKEFILE_PRODUCTS 46 | "CMakeFiles/CMakeDirectoryInformation.cmake" 47 | ) 48 | 49 | # Dependency information for all targets: 50 | set(CMAKE_DEPEND_INFO_FILES 51 | "CMakeFiles/epipolar.dir/DependInfo.cmake" 52 | ) 53 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_11/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_11/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_11/build/CMakeFiles/epipolar.dir 4 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/epipolar.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_11/epipolar.cpp" "/home/lyy/from_0_to_1_for_slam/homework_11/build/CMakeFiles/epipolar.dir/epipolar.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/usr/include/eigen3" 14 | "/usr/local/include" 15 | "/usr/local/include/opencv" 16 | ) 17 | 18 | # Targets to which this target links. 19 | set(CMAKE_TARGET_LINKED_INFO_FILES 20 | ) 21 | 22 | # Fortran module output directory. 23 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 24 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/epipolar.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/epipolar.dir/epipolar.cpp.o" 3 | "epipolar.pdb" 4 | "epipolar" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/epipolar.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/epipolar.dir/epipolar.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/CMakeFiles/epipolar.dir/epipolar.cpp.o -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/epipolar.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/include/eigen3 -isystem /usr/local/include -isystem /usr/local/include/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/epipolar.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -std=c++11 CMakeFiles/epipolar.dir/epipolar.cpp.o -o epipolar -rdynamic /usr/local/lib/libopencv_shape.so.3.4.1 /usr/local/lib/libopencv_objdetect.so.3.4.1 /usr/local/lib/libopencv_ml.so.3.4.1 /usr/local/lib/libopencv_viz.so.3.4.1 /usr/local/lib/libopencv_videostab.so.3.4.1 /usr/local/lib/libopencv_superres.so.3.4.1 /usr/local/lib/libopencv_dnn.so.3.4.1 /usr/local/lib/libopencv_stitching.so.3.4.1 /usr/local/lib/libopencv_photo.so.3.4.1 /usr/local/lib/libopencv_video.so.3.4.1 /usr/local/lib/libopencv_calib3d.so.3.4.1 /usr/local/lib/libopencv_features2d.so.3.4.1 /usr/local/lib/libopencv_highgui.so.3.4.1 /usr/local/lib/libopencv_videoio.so.3.4.1 /usr/local/lib/libopencv_flann.so.3.4.1 /usr/local/lib/libopencv_imgcodecs.so.3.4.1 /usr/local/lib/libopencv_imgproc.so.3.4.1 /usr/local/lib/libopencv_core.so.3.4.1 -Wl,-rpath,/usr/local/lib 2 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/epipolar.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_11/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_11/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_11 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_11/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_11/build/epipolar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/epipolar -------------------------------------------------------------------------------- /homework_11/build/rgb1.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/rgb1.ppm -------------------------------------------------------------------------------- /homework_11/build/rgb2.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/build/rgb2.ppm -------------------------------------------------------------------------------- /homework_11/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/result.png -------------------------------------------------------------------------------- /homework_11/从零开始学习SLAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_11/从零开始学习SLAM.png -------------------------------------------------------------------------------- /homework_11/矩阵分解: -------------------------------------------------------------------------------- 1 | SVD 2 | https://blog.csdn.net/u011251945/article/details/81362642 3 | 4 | 本质矩阵E的尺度等价性,为什么不用5点法求,内在性质怎么理解 5 | 单应矩阵为什么只能求解同一平面上的T 6 | -------------------------------------------------------------------------------- /homework_12/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project(virtual-billboard ) 3 | 4 | set( CMAKE_CXX_FLAGS "-std=c++11" ) 5 | #include_directories("/usr/include/eigen3") 6 | 7 | find_package( OpenCV 3.4.1 REQUIRED ) 8 | 9 | include_directories( ${OpenCV_INCLUDE_DIRS} ) 10 | 11 | add_executable( virtual-billboard virtual-billboard.cpp ) 12 | 13 | target_link_libraries( virtual-billboard ${OpenCV_LIBS} ) 14 | 15 | 16 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-47-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-47-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-47-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-47-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_12") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_12/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_12/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_12/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_12/build/CMakeFiles/virtual-billboard.dir 4 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/virtual-billboard.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_12/virtual-billboard.cpp" "/home/lyy/from_0_to_1_for_slam/homework_12/build/CMakeFiles/virtual-billboard.dir/virtual-billboard.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/usr/local/include" 14 | "/usr/local/include/opencv" 15 | ) 16 | 17 | # Targets to which this target links. 18 | set(CMAKE_TARGET_LINKED_INFO_FILES 19 | ) 20 | 21 | # Fortran module output directory. 22 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 23 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/virtual-billboard.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/virtual-billboard.dir/virtual-billboard.cpp.o" 3 | "virtual-billboard.pdb" 4 | "virtual-billboard" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/virtual-billboard.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/virtual-billboard.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -isystem /usr/local/include -isystem /usr/local/include/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/virtual-billboard.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -std=c++11 CMakeFiles/virtual-billboard.dir/virtual-billboard.cpp.o -o virtual-billboard -rdynamic /usr/local/lib/libopencv_shape.so.3.4.1 /usr/local/lib/libopencv_objdetect.so.3.4.1 /usr/local/lib/libopencv_ml.so.3.4.1 /usr/local/lib/libopencv_viz.so.3.4.1 /usr/local/lib/libopencv_videostab.so.3.4.1 /usr/local/lib/libopencv_superres.so.3.4.1 /usr/local/lib/libopencv_dnn.so.3.4.1 /usr/local/lib/libopencv_stitching.so.3.4.1 /usr/local/lib/libopencv_photo.so.3.4.1 /usr/local/lib/libopencv_video.so.3.4.1 /usr/local/lib/libopencv_calib3d.so.3.4.1 /usr/local/lib/libopencv_features2d.so.3.4.1 /usr/local/lib/libopencv_highgui.so.3.4.1 /usr/local/lib/libopencv_videoio.so.3.4.1 /usr/local/lib/libopencv_flann.so.3.4.1 /usr/local/lib/libopencv_imgcodecs.so.3.4.1 /usr/local/lib/libopencv_imgproc.so.3.4.1 /usr/local/lib/libopencv_core.so.3.4.1 -Wl,-rpath,/usr/local/lib 2 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/virtual-billboard.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_12/build/CMakeFiles/virtual-billboard.dir/virtual-billboard.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/CMakeFiles/virtual-billboard.dir/virtual-billboard.cpp.o -------------------------------------------------------------------------------- /homework_12/build/ad.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/ad.jpg -------------------------------------------------------------------------------- /homework_12/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_12 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_12/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_12/build/cvlife.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/cvlife.jpg -------------------------------------------------------------------------------- /homework_12/build/virtual-billboard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_12/build/virtual-billboard -------------------------------------------------------------------------------- /homework_12/opencv学习: -------------------------------------------------------------------------------- 1 | OpenCV之bitwise_and、bitwise_not等图像基本运算及掩膜 2 | 3 | https://blog.csdn.net/u011028345/article/details/77278467 4 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion.zip -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #设定版本 2 | 3 | PROJECT(PointCloud) #设定工程名 4 | SET( CMAKE_CXX_FLAGS "-std=c++11" )#设定编译器 5 | SET(CMAKE_BUILD_TYPE Debug) 6 | 7 | include_directories("/usr/include/eigen3") 8 | 9 | FIND_PACKAGE(Sophus REQUIRED) 10 | include_directories(${Sophus_INCLUDE_DIRS}) 11 | 12 | #设定可执行二进制文件的目录 13 | SET( EXECUTABLE_OUTPUT_PATH "/home/lyy/from_0_to_1_for_slam/homework_13/practice_pointCloudFusion/bin") 14 | 15 | #设定存放编译出来的库文件的目录 16 | SET( LIBRARY_OUTPUT_PATH "/home/lyy/from_0_to_1_for_slam/homework_13/practice_pointCloudFusion/lib") 17 | 18 | #设定头文件目录 19 | INCLUDE_DIRECTORIES( "/home/lyy/from_0_to_1_for_slam/homework_13/practice_pointCloudFusion/include") 20 | 21 | #并且把该目录设为连接目录 22 | LINK_DIRECTORIES( "/home/lyy/from_0_to_1_for_slam/homework_13/practice_pointCloudFusion/lib") 23 | 24 | #增加子文件夹,也就是进入源代码文件夹继续构建 25 | ADD_SUBDIRECTORY( "/home/lyy/from_0_to_1_for_slam/homework_13/practice_pointCloudFusion/src") 26 | 27 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/cameraTrajectory.txt: -------------------------------------------------------------------------------- 1 | # tx ty tz qx qy qz qw 2 | 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 1.000000000 3 | -0.288952827 0.222811699 -0.252029210 0.054562528 -0.312418818 -0.288284063 0.903498590 4 | -0.650643229 0.383824050 -0.501303971 -0.016285975 -0.159155473 -0.111743204 0.980774045 5 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/depth/depth0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/data/depth/depth0.png -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/depth/depth1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/data/depth/depth1.png -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/depth/depth2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/data/depth/depth2.png -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/rgb/rgb0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/data/rgb/rgb0.png -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/rgb/rgb1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/data/rgb/rgb1.png -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/data/rgb/rgb2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/data/rgb/rgb2.png -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/include/slamBase.hpp: -------------------------------------------------------------------------------- 1 | # pragma once //保证头文件只被编译一次 2 | 3 | #include 4 | 5 | // opencv 6 | #include 7 | #include 8 | 9 | // pcl 10 | #include 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | #include 17 | 18 | using namespace std; 19 | using namespace cv; 20 | 21 | typedef pcl::PointXYZRGB PointT; 22 | typedef pcl::PointCloud PointCloud; 23 | 24 | // camera instrinsic parameters 25 | struct CAMERA_INTRINSIC_PARAMETERS 26 | { 27 | double fx, fy, cx, cy, scale; 28 | }; 29 | 30 | struct FRAME 31 | { 32 | cv::Mat rgb, depth; 33 | }; 34 | 35 | PointCloud::Ptr image2PointCloud(Mat rgb, Mat depth, CAMERA_INTRINSIC_PARAMETERS camera); 36 | PointCloud::Ptr pointCloudFusion( PointCloud::Ptr &original, FRAME& newFrame, Eigen::Isometry3d T, CAMERA_INTRINSIC_PARAMETERS camera ); 37 | //PointCloud::Ptr pointCloudFusion( PointCloud::Ptr &original, FRAME& newFrame, vector> T, CAMERA_INTRINSIC_PARAMETERS camera ); 38 | void readCameraTrajectory(string camTransFile, vector &poses); 39 | //void readCameraTrajectory(string camTransFile, vector> poses); 40 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | # 增加PCL库的依赖 3 | FIND_PACKAGE( PCL REQUIRED ) 4 | 5 | FIND_PACKAGE( OpenCV 3.4.1 REQUIRED ) 6 | 7 | include_directories("/usr/include/eigen3") 8 | FIND_PACKAGE(Sophus REQUIRED) 9 | include_directories(${Sophus_INCLUDE_DIRS}) 10 | 11 | ADD_DEFINITIONS( ${PCL_DEFINITIONS} ) 12 | INCLUDE_DIRECTORIES( ${PCL_INCLUDE_DIRS} ) 13 | LINK_LIBRARIES( ${PCL_LIBRARY_DIRS} ) 14 | 15 | #INCLUDE_DIRECTORIES( ${PROJECT_SOURSE_DIR}/include ) 16 | INCLUDE_DIRECTORIES( "/home/lyy/from_0_to_1_for_slam/homework_13/practice_pointCloudFusion/include" ) 17 | 18 | ADD_LIBRARY(slambase_shared SHARED slamBase.cpp) 19 | target_link_libraries(slambase_shared ${Sophus_LIBRARIES}) 20 | TARGET_LINK_LIBRARIES(slambase_shared 21 | ${OpenCV_LIBS} 22 | ${PCL_LIBRARIES} ) 23 | 24 | 25 | ADD_EXECUTABLE( pointCloudFusion pointCloudFusion.cpp ) 26 | TARGET_LINK_LIBRARIES(pointCloudFusion 27 | slambase_shared 28 | ${OpenCV_LIBS} 29 | ${PCL_LIBRARIES} 30 | ) 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/src/pointCloudFusion.cpp: -------------------------------------------------------------------------------- 1 | /**************************** 2 | * 题目:点云融合实验。已经给定3帧(不连续)RGB-D相机拍摄的 RGB + depth 图像,以及他们之间的变换矩阵(以第一帧为参考帧), 3 | * 请将上述3帧RGB-D图像分别生成点云并融合出最终的点云输出。 4 | * 5 | * 本程序学习目标: 6 | * 熟悉PCL的使用。 7 | * 熟悉RGB-D图像到点云的转换过程。 8 | * 掌握简单的点云融合方法。 9 | * 10 | * 公众号:计算机视觉life。发布于公众号旗下知识星球:从零开始学习SLAM 11 | * 时间:2018.11 12 | ****************************/ 13 | #include "slamBase.hpp" 14 | 15 | 16 | 17 | int main( int argc, char** argv ) 18 | { 19 | CAMERA_INTRINSIC_PARAMETERS cameraParams{517.0,516.0,318.6,255.3,5000.0}; 20 | int frameNum = 3; 21 | vector poses; 22 | // vector> poses; 23 | PointCloud::Ptr fusedCloud(new PointCloud());//新建一个点云 24 | string path = "../data/"; 25 | string cameraPosePath = path + "cameraTrajectory.txt"; 26 | readCameraTrajectory(cameraPosePath, poses); 27 | for (int idx = 0; idx < frameNum; idx++) 28 | { 29 | string rgbPath = path + "rgb/rgb" + to_string(idx) + ".png"; 30 | string depthPath = path + "depth/depth" + to_string(idx) + ".png"; 31 | 32 | FRAME frm; 33 | frm.rgb = cv::imread(rgbPath); 34 | if (frm.rgb.empty()) { 35 | cerr << "Fail to load rgb image!" << endl; 36 | } 37 | frm.depth = cv::imread(depthPath, -1); 38 | if (frm.depth.empty()) { 39 | cerr << "Fail to load depth image!" << endl; 40 | } 41 | 42 | if (idx == 0) 43 | { 44 | fusedCloud = image2PointCloud(frm.rgb, frm.depth, cameraParams); 45 | 46 | } 47 | else 48 | { 49 | fusedCloud = pointCloudFusion( fusedCloud, frm, poses[idx], cameraParams ); 50 | 51 | } 52 | } 53 | pcl::io::savePCDFile( "./fusedCloud1.pcd", *fusedCloud ); 54 | return 0; 55 | } 56 | 57 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/点云学习: -------------------------------------------------------------------------------- 1 | 2 | 作业参考: 3 | PCL三维点云拼接融合技术 4 | https://blog.csdn.net/dcba2014/article/details/71859375?locationNum=3&fps=1 5 | https://www.cnblogs.com/gaoxiang12/p/4669490.html 6 | -------------------------------------------------------------------------------- /homework_13/practice_pointCloudFusion/计算机视觉life公众号菜单点击“知识星球”了解详情.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_13/practice_pointCloudFusion/计算机视觉life公众号菜单点击“知识星球”了解详情.png -------------------------------------------------------------------------------- /homework_14/fliter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #设定版本 2 | 3 | PROJECT(PointCloudFilter) #设定工程名 4 | SET( CMAKE_CXX_FLAGS "-std=c++11" )#设定编译器 5 | SET(CMAKE_BUILD_TYPE Debug) 6 | 7 | #增加子文件夹,也就是进入源代码文件夹继续构建 8 | ADD_SUBDIRECTORY( "/home/lyy/from_0_to_1_for_slam/homework_14/fliter/src") 9 | -------------------------------------------------------------------------------- /homework_14/fliter/filtered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_14/fliter/filtered.png -------------------------------------------------------------------------------- /homework_14/fliter/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_14/fliter/noise.png -------------------------------------------------------------------------------- /homework_14/fliter/originalPointCloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_14/fliter/originalPointCloud.png -------------------------------------------------------------------------------- /homework_14/fliter/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | FIND_PACKAGE( PCL 1.7 REQUIRED ) 3 | 4 | FIND_PACKAGE( OpenCV REQUIRED ) 5 | 6 | ADD_DEFINITIONS( ${PCL_DEFINITIONS} ) 7 | INCLUDE_DIRECTORIES( ${PCL_INCLUDE_DIRS} ) 8 | LINK_LIBRARIES( ${PCL_LIBRARY_DIRS} ) 9 | 10 | ADD_EXECUTABLE( pointCloudFilter pointCloudFilter.cpp ) 11 | TARGET_LINK_LIBRARIES(pointCloudFilter 12 | ${OpenCV_LIBS} 13 | ${PCL_LIBRARIES} 14 | ) 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /homework_14/fliter/从零开始学习SLAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_14/fliter/从零开始学习SLAM.png -------------------------------------------------------------------------------- /homework_14/fliter/输出点云: -------------------------------------------------------------------------------- 1 | https://blog.csdn.net/cape_NO_7/article/details/80011505 2 | -------------------------------------------------------------------------------- /homework_14/点云滤波练习题目.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_14/点云滤波练习题目.zip -------------------------------------------------------------------------------- /homework_15/smoothing/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #设定版本 2 | 3 | PROJECT(PointCloudSmooth) #设定工程名 4 | SET( CMAKE_CXX_FLAGS "-std=c++11" )#设定编译器 5 | SET(CMAKE_BUILD_TYPE Debug) 6 | 7 | #增加子文件夹,也就是进入源代码文件夹继续构建 8 | ADD_SUBDIRECTORY( "/home/lyy/from_0_to_1_for_slam/homework_15/smoothing/src") 9 | -------------------------------------------------------------------------------- /homework_15/smoothing/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | FIND_PACKAGE( PCL 1.7 REQUIRED ) 3 | 4 | FIND_PACKAGE( OpenCV REQUIRED ) 5 | 6 | ADD_DEFINITIONS( ${PCL_DEFINITIONS} ) 7 | INCLUDE_DIRECTORIES( ${PCL_INCLUDE_DIRS} ) 8 | LINK_LIBRARIES( ${PCL_LIBRARY_DIRS} ) 9 | 10 | ADD_EXECUTABLE( pointCloud2Mesh pointCloud2Mesh.cpp ) 11 | TARGET_LINK_LIBRARIES(pointCloud2Mesh 12 | ${OpenCV_LIBS} 13 | ${PCL_LIBRARIES} 14 | ) 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /homework_15/smoothing/从零开始学习SLAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_15/smoothing/从零开始学习SLAM.png -------------------------------------------------------------------------------- /homework_15/smoothing/点云采样方法: -------------------------------------------------------------------------------- 1 | https://www.cnblogs.com/li-yao7758258/p/6527969.html 2 | -------------------------------------------------------------------------------- /homework_15/作业15-点云平滑及法线估计及显示.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_15/作业15-点云平滑及法线估计及显示.zip -------------------------------------------------------------------------------- /homework_16/vixel/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) #设定版本 2 | 3 | PROJECT(pointCloud2Mesh) #设定工程名 4 | SET( CMAKE_CXX_FLAGS "-std=c++11" )#设定编译器 5 | SET(CMAKE_BUILD_TYPE Debug) 6 | 7 | #增加子文件夹,也就是进入源代码文件夹继续构建 8 | ADD_SUBDIRECTORY("/home/lyy/from_0_to_1_for_slam/homework_16/vixel/src") 9 | -------------------------------------------------------------------------------- /homework_16/vixel/src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | FIND_PACKAGE( PCL 1.7 REQUIRED ) 3 | 4 | FIND_PACKAGE( OpenCV REQUIRED ) 5 | 6 | ADD_DEFINITIONS( ${PCL_DEFINITIONS} ) 7 | INCLUDE_DIRECTORIES( ${PCL_INCLUDE_DIRS} ) 8 | LINK_LIBRARIES( ${PCL_LIBRARY_DIRS} ) 9 | 10 | ADD_EXECUTABLE( pointCloud2Mesh pointCloud2Mesh.cpp ) 11 | TARGET_LINK_LIBRARIES(pointCloud2Mesh 12 | ${OpenCV_LIBS} 13 | ${PCL_LIBRARIES} 14 | ) 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /homework_16/vixel/从零开始学习SLAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_16/vixel/从零开始学习SLAM.png -------------------------------------------------------------------------------- /homework_16/vixel/重建方法: -------------------------------------------------------------------------------- 1 | 波松重建 2 | https://www.cnblogs.com/luyb/p/5730932.html 3 | 4 | 三角重建 5 | -------------------------------------------------------------------------------- /homework_16/练习16-点云网格化代码框架.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_16/练习16-点云网格化代码框架.zip -------------------------------------------------------------------------------- /homework_17/17作业g2o.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_17/17作业g2o.zip -------------------------------------------------------------------------------- /homework_17/g2o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_17/g2o.png -------------------------------------------------------------------------------- /homework_17/g2o.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_17/g2o.tar.gz -------------------------------------------------------------------------------- /homework_17/projectg2o/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( BA ) 3 | 4 | # 添加c++ 11标准支持 5 | set( CMAKE_CXX_FLAGS "-std=c++11" ) 6 | 7 | 8 | find_package( OpenCV REQUIRED ) 9 | 10 | 11 | # 添加g2o的依赖 12 | # 因为g2o不是常用库,要添加它的findg2o.cmake文件 13 | #set( G2O_ROOT /usr/local/include/g2o ) 14 | LIST( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules ) 15 | find_package( G2O REQUIRED ) 16 | find_package( CSparse REQUIRED ) 17 | 18 | # 添加头文件 19 | include_directories( "/usr/include/eigen3" 20 | ${OpenCV_INCLUDE_DIRS} 21 | ${G2O_INCLUDE_DIRS} 22 | ${CSPARSE_INCLUDE_DIR} 23 | ) 24 | 25 | add_executable( BA BA-3Dto2D.cpp ) 26 | 27 | target_link_libraries( BA 28 | ${OpenCV_LIBS} 29 | ${CSPARSE_LIBRARY} 30 | g2o_core g2o_stuff g2o_types_sba g2o_csparse_extension 31 | ) 32 | 33 | 34 | -------------------------------------------------------------------------------- /homework_17/projectg2o/cmake_modules/FindCSparse.cmake: -------------------------------------------------------------------------------- 1 | # Look for csparse; note the difference in the directory specifications! 2 | FIND_PATH(CSPARSE_INCLUDE_DIR NAMES cs.h 3 | PATHS 4 | /usr/include/suitesparse 5 | /usr/include 6 | /opt/local/include 7 | /usr/local/include 8 | /sw/include 9 | /usr/include/ufsparse 10 | /opt/local/include/ufsparse 11 | /usr/local/include/ufsparse 12 | /sw/include/ufsparse 13 | ) 14 | 15 | FIND_LIBRARY(CSPARSE_LIBRARY NAMES cxsparse 16 | PATHS 17 | /usr/lib 18 | /usr/local/lib 19 | /opt/local/lib 20 | /sw/lib 21 | ) 22 | 23 | include(FindPackageHandleStandardArgs) 24 | find_package_handle_standard_args(CSPARSE DEFAULT_MSG 25 | CSPARSE_INCLUDE_DIR CSPARSE_LIBRARY) 26 | -------------------------------------------------------------------------------- /homework_17/projectg2o/p2d.txt: -------------------------------------------------------------------------------- 1 | 323 109 2 | 231 219 3 | 65 308 4 | 185 292 5 | 61 287 6 | 414 188 7 | 37 264 8 | 510 266 9 | 528 272 10 | 279 236 11 | 135 182 12 | 350 232 13 | 500 263 14 | 278.4 236.4 15 | 422 188 16 | 414 188 17 | 62.4 289.2 18 | 231.6 219.6 19 | 50.4 273.6 20 | 528 272.4 21 | 337.2 114 22 | 324 111.6 23 | 502.8 262.8 24 | 350.4 231.6 25 | 185 292 26 | 499.2 262.8 27 | 231.552 219.456 28 | 349.92 230.4 29 | 478.08 282.24 30 | 420.48 187.2 31 | 413.28 187.2 32 | 501.12 267.84 33 | 277.92 236.16 34 | 184.32 290.88 35 | 514.944 271.296 36 | 349.056 229.824 37 | 231.552 219.456 38 | 501.12 269.568 39 | 321.408 105.408 40 | 419.904 188.352 41 | 413.28 187.2 42 | 324.864 110.592 43 | 205.632 267.84 44 | 55.296 273.024 45 | 502.848 262.656 46 | 46.08 273.6 47 | 184.32 290.88 48 | 136.858 236.39 49 | 418.867 186.624 50 | 350.438 230.17 51 | 337.997 111.974 52 | 232.243 217.728 53 | 184.896 290.304 54 | 151.373 240.538 55 | 136.858 236.39 56 | 232.243 217.728 57 | 350.438 230.17 58 | 144.323 233.902 59 | 281.18 236.39 60 | 186.624 290.304 61 | 349.36 367.276 62 | 343.388 364.29 63 | 346.374 226.935 64 | 232.907 217.977 65 | 217.977 194.089 66 | 280.683 235.893 67 | 354.735 365.485 68 | 343.388 364.29 69 | 232.907 214.991 70 | 347.569 225.74 71 | 283.071 236.49 72 | 150.494 243.656 73 | 347.569 336.819 74 | 272.322 250.823 75 | 186.325 290.238 76 | 333.236 240.073 -------------------------------------------------------------------------------- /homework_17/projectg2o/p3d.txt: -------------------------------------------------------------------------------- 1 | -0.0374123 -0.830816 2.7448 2 | -0.243698 -0.117719 1.5848 3 | -0.627753 0.160186 1.3396 4 | -0.323443 0.104873 1.4266 5 | -0.627221 0.101454 1.3116 6 | 0.402045 -0.341821 2.2068 7 | -0.687785 0.0430873 1.2976 8 | 0.627166 -0.0166317 1.5202 9 | 0.65817 -0.00198633 1.4784 10 | -0.0897164 -0.073607 1.5526 11 | -0.522843 -0.214436 1.4956 12 | 0.139792 -0.0954137 1.5202 13 | 0.594266 -0.0256024 1.5332 14 | -0.0891202 -0.0718189 1.5526 15 | 0.427399 -0.333001 2.1552 16 | 0.399677 -0.344018 2.1938 17 | -0.627209 0.10885 1.3158 18 | -0.244307 -0.120761 1.5848 19 | -0.637861 0.0641397 1.2706 20 | 0.661009 -0.000283745 1.4784 21 | 0.032143 -0.816064 2.7448 22 | -0.0374123 -0.822386 2.7448 23 | 0.601751 -0.0249094 1.5268 24 | 0.136873 -0.0948301 1.5202 25 | -0.329006 0.106137 1.4438 26 | 0.593677 -0.0250138 1.5332 27 | -0.24332 -0.123909 1.5784 28 | 0.136061 -0.0987584 1.5268 29 | 0.515821 0.0343076 1.4438 30 | 0.42442 -0.335979 2.1552 31 | 0.401698 -0.341997 2.1938 32 | 0.590593 -0.00582347 1.502 33 | -0.0891202 -0.0746797 1.5526 34 | -0.331572 0.106534 1.4492 35 | 0.624455 -0.00247196 1.4838 36 | 0.136061 -0.0987584 1.5268 37 | -0.242554 -0.118279 1.5848 38 | 0.587601 -0.00248262 1.4902 39 | -0.0467705 -0.851215 2.7448 40 | 0.423345 -0.33438 2.168 41 | 0.403968 -0.3497 2.2196 42 | -0.0283474 -0.81778 2.7244 43 | -0.313646 0.0344556 1.5988 44 | -0.637121 0.0619232 1.2878 45 | 0.607097 -0.0227993 1.5268 46 | -0.649687 0.0695246 1.2706 47 | -0.336318 0.104556 1.4664 48 | -0.611718 -0.0528933 1.7914 49 | 0.416153 -0.340132 2.168 50 | 0.135048 -0.0997712 1.5268 51 | 0.0351785 -0.823904 2.7448 52 | -0.238348 -0.122484 1.5848 53 | -0.327565 0.101407 1.4492 54 | -0.474742 -0.0386718 1.5138 55 | -0.616088 -0.05458 1.8 56 | -0.23961 -0.123745 1.5848 57 | 0.133832 -0.104632 1.5268 58 | -0.593113 -0.0721167 1.8086 59 | -0.0864075 -0.0767394 1.5526 60 | -0.331102 0.101785 1.4546 61 | 0.147499 0.242462 1.163 62 | 0.129166 0.232126 1.1782 63 | 0.132374 -0.101716 1.5268 64 | -0.235068 -0.123745 1.5848 65 | -0.397808 -0.253889 2.0486 66 | -0.0793163 -0.0681207 1.559 67 | 0.16172 0.233819 1.1598 68 | 0.139069 0.235996 1.1706 69 | -0.236885 -0.127379 1.5848 70 | 0.128316 -0.111731 1.5202 71 | -0.0825507 -0.0714003 1.5526 72 | -0.476188 -0.0383825 1.5138 73 | 0.144134 0.188769 1.2878 74 | -0.109385 -0.0301998 1.6344 75 | -0.326273 0.102792 1.4492 76 | 0.0766801 -0.0599636 1.5332 -------------------------------------------------------------------------------- /homework_17/projectg2o/从零开始学习SLAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_17/projectg2o/从零开始学习SLAM.png -------------------------------------------------------------------------------- /homework_17/projectg2o/参考输出.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_17/projectg2o/参考输出.png -------------------------------------------------------------------------------- /homework_18/perfect_g2o/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/perfect_g2o/0.png -------------------------------------------------------------------------------- /homework_18/perfect_g2o/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/perfect_g2o/1.png -------------------------------------------------------------------------------- /homework_18/perfect_g2o/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/perfect_g2o/2.png -------------------------------------------------------------------------------- /homework_18/perfect_g2o/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( directBA ) 3 | 4 | # 添加c++ 11标准支持 5 | set( CMAKE_CXX_FLAGS "-std=c++11 -O3" ) 6 | list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules ) 7 | set(G2O_LIBS g2o_cli g2o_ext_freeglut_minimal g2o_simulator g2o_solver_slam2d_linear 8 | g2o_types_icp g2o_types_slam2d g2o_types_sba g2o_types_slam3d g2o_core g2o_interface 9 | g2o_solver_csparse g2o_solver_structure_only g2o_csparse_extension g2o_opengl_helper g2o_solver_dense 10 | g2o_stuff g2o_types_sclam2d g2o_parser g2o_solver_pcg g2o_types_data g2o_types_sim3 cxsparse ) 11 | # 添加cmake模块以使用g2o库 12 | list( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules ) 13 | find_package( G2O REQUIRED) 14 | find_package( Eigen3 REQUIRED) 15 | find_package( OpenCV REQUIRED ) 16 | find_package( Sophus REQUIRED ) 17 | find_package( Pangolin REQUIRED) 18 | 19 | 20 | # 添加头文件 21 | include_directories( "/usr/include/eigen3" ) 22 | include_directories( ${OpenCV_INCLUDE_DIRS} ) 23 | include_directories( ${Sophus_INCLUDE_DIRS} ) 24 | include_directories( ${Pangolin_INCLUDE_DIRS}) 25 | include_directories( ${G2O_INCLUDE_DIRS}) 26 | 27 | 28 | 29 | add_executable( directBA directBA.cpp ) 30 | 31 | target_link_libraries( directBA ${OpenCV_LIBS} ${G2O_LIBS}) 32 | target_link_libraries( directBA ${Sophus_LIBRARIES} ) 33 | #target_link_libraries( directBA /usr/local/lib/libSophus.so ) 34 | target_link_libraries( directBA ${Pangolin_LIBRARIES}) 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /homework_18/perfect_g2o/cmake_modules/FindCeres.cmake: -------------------------------------------------------------------------------- 1 | # - Find Ceres library 2 | # Find the native Ceres includes and library 3 | # This module defines 4 | # CERES_INCLUDE_DIRS, where to find ceres.h, Set when 5 | # CERES_INCLUDE_DIR is found. 6 | # CERES_LIBRARIES, libraries to link against to use Ceres. 7 | # CERES_ROOT_DIR, The base directory to search for Ceres. 8 | # This can also be an environment variable. 9 | # CERES_FOUND, If false, do not try to use Ceres. 10 | # 11 | # also defined, but not for general use are 12 | # CERES_LIBRARY, where to find the Ceres library. 13 | 14 | # If CERES_ROOT_DIR was defined in the environment, use it. 15 | IF(NOT CERES_ROOT_DIR AND NOT $ENV{CERES_ROOT_DIR} STREQUAL "") 16 | SET(CERES_ROOT_DIR $ENV{CERES_ROOT_DIR}) 17 | ENDIF() 18 | 19 | SET(_ceres_SEARCH_DIRS 20 | ${CERES_ROOT_DIR} 21 | /usr/local 22 | /sw # Fink 23 | /opt/local # DarwinPorts 24 | /opt/csw # Blastwave 25 | /opt/lib/ceres 26 | ) 27 | 28 | FIND_PATH(CERES_INCLUDE_DIR 29 | NAMES 30 | ceres/ceres.h 31 | HINTS 32 | ${_ceres_SEARCH_DIRS} 33 | PATH_SUFFIXES 34 | include 35 | ) 36 | 37 | FIND_LIBRARY(CERES_LIBRARY 38 | NAMES 39 | ceres 40 | HINTS 41 | ${_ceres_SEARCH_DIRS} 42 | PATH_SUFFIXES 43 | lib64 lib 44 | ) 45 | 46 | # handle the QUIETLY and REQUIRED arguments and set CERES_FOUND to TRUE if 47 | # all listed variables are TRUE 48 | INCLUDE(FindPackageHandleStandardArgs) 49 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(ceres DEFAULT_MSG 50 | CERES_LIBRARY CERES_INCLUDE_DIR) 51 | 52 | IF(CERES_FOUND) 53 | SET(CERES_LIBRARIES ${CERES_LIBRARY}) 54 | SET(CERES_INCLUDE_DIRS ${CERES_INCLUDE_DIR}) 55 | ENDIF(CERES_FOUND) 56 | 57 | MARK_AS_ADVANCED( 58 | CERES_INCLUDE_DIR 59 | CERES_LIBRARY 60 | ) 61 | -------------------------------------------------------------------------------- /homework_18/perfect_g2o/poses.txt: -------------------------------------------------------------------------------- 1 | 1.46323e+09 0.702775 0.084358 0.00503326 -0.0651624 0.112345 -0.160729 0.978416 2 | 1.46323e+09 1.0694 0.102769 -0.1487 0.00222945 0.0342752 -0.247501 0.968279 3 | 1.46323e+09 0.74723 0.168659 -0.341037 0.0646964 -0.0708158 -0.276756 0.956141 4 | 5 | -------------------------------------------------------------------------------- /homework_18/perfect_g2o/从零开始学习SLAM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/perfect_g2o/从零开始学习SLAM.png -------------------------------------------------------------------------------- /homework_18/perfect_g2o/优化目标函数.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/perfect_g2o/优化目标函数.png -------------------------------------------------------------------------------- /homework_18/perfect_g2o/预期结果.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/perfect_g2o/预期结果.png -------------------------------------------------------------------------------- /homework_18/掌握g2o边的编程套路.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/掌握g2o边的编程套路.pdf -------------------------------------------------------------------------------- /homework_18/练习18-g2o边代码框架.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_18/练习18-g2o边代码框架.zip -------------------------------------------------------------------------------- /homework_19_20/19.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/19.jpeg -------------------------------------------------------------------------------- /homework_19_20/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( ICP ) 3 | 4 | set( CMAKE_BUILD_TYPE "Release" ) 5 | set( CMAKE_CXX_FLAGS "-std=c++11 -O3" ) 6 | 7 | #set (OpenCV_DIR "/home/cxl/Downloads/opencv-3.4.5/build") 8 | find_package( OpenCV REQUIRED ) 9 | # find_package( OpenCV REQUIRED ) # use this if in OpenCV2 10 | FIND_PACKAGE(Pangolin REQUIRED) 11 | FIND_PACKAGE(Sophus REQUIRED) 12 | 13 | 14 | 15 | include_directories( 16 | ${Sophus_INCLUDE_DIRS} 17 | ${Pangolin_INCLUDE_DIRS} 18 | ${OpenCV_INCLUDE_DIRS} 19 | "/usr/include/eigen3/" 20 | ) 21 | 22 | add_executable( ${PROJECT_NAME} icp.cpp ) 23 | target_link_libraries( ${PROJECT_NAME} 24 | ${Sophus_LIBRARIES} 25 | ${Pangolin_LIBRARIES} 26 | ${OpenCV_LIBS} 27 | # /usr/local/lib/libSophus.so 28 | ) 29 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/19.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/19.jpeg -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( ICP ) 3 | 4 | set( CMAKE_BUILD_TYPE "Release" ) 5 | set( CMAKE_CXX_FLAGS "-std=c++11 -O3" ) 6 | 7 | #set (OpenCV_DIR "/home/cxl/Downloads/opencv-3.4.5/build") 8 | find_package( OpenCV REQUIRED ) 9 | # find_package( OpenCV REQUIRED ) # use this if in OpenCV2 10 | FIND_PACKAGE(Pangolin REQUIRED) 11 | FIND_PACKAGE(Sophus REQUIRED) 12 | 13 | 14 | 15 | include_directories( 16 | ${Sophus_INCLUDE_DIRS} 17 | ${Pangolin_INCLUDE_DIRS} 18 | ${OpenCV_INCLUDE_DIRS} 19 | "/usr/include/eigen3/" 20 | ) 21 | 22 | add_executable( ${PROJECT_NAME} icp.cpp ) 23 | target_link_libraries( ${PROJECT_NAME} 24 | ${Sophus_LIBRARIES} 25 | ${Pangolin_LIBRARIES} 26 | ${OpenCV_LIBS} 27 | # /usr/local/lib/libSophus.so 28 | ) 29 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-50-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-50-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-50-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-50-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/ICP.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/icp.cpp" "/home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/build/CMakeFiles/ICP.dir/icp.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/home/lyy/Linux_dependence/Sophus" 14 | "/usr/include/eigen3" 15 | "/usr/local/lib/cmake/Pangolin/../../../include" 16 | "/opt/ros/kinetic/include/opencv-3.3.1-dev" 17 | "/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv" 18 | ) 19 | 20 | # Targets to which this target links. 21 | set(CMAKE_TARGET_LINKED_INFO_FILES 22 | ) 23 | 24 | # Fortran module output directory. 25 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 26 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/ICP.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/ICP.dir/icp.cpp.o" 3 | "ICP.pdb" 4 | "ICP" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/ICP.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/ICP.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 -O3 -O3 -DNDEBUG 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/home/lyy/Linux_dependence/Sophus -I/usr/include/eigen3 -I/usr/local/lib/cmake/Pangolin/../../../include -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/ICP.dir/icp.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/CMakeFiles/ICP.dir/icp.cpp.o -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/ICP.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/Makefile.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # The generator used is: 5 | set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") 6 | 7 | # The top level Makefile was generated from the following files: 8 | set(CMAKE_MAKEFILE_DEPENDS 9 | "CMakeCache.txt" 10 | "/home/lyy/Linux_dependence/Sophus/build/SophusConfig.cmake" 11 | "../CMakeLists.txt" 12 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 13 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 14 | "CMakeFiles/3.5.1/CMakeSystem.cmake" 15 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVConfig-version.cmake" 16 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVConfig.cmake" 17 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVModules-release.cmake" 18 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVModules.cmake" 19 | "/usr/local/lib/cmake/Pangolin/PangolinConfig.cmake" 20 | "/usr/local/lib/cmake/Pangolin/PangolinConfigVersion.cmake" 21 | "/usr/local/lib/cmake/Pangolin/PangolinTargets-release.cmake" 22 | "/usr/local/lib/cmake/Pangolin/PangolinTargets.cmake" 23 | "/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake" 24 | "/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake" 25 | "/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake" 26 | "/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake" 27 | "/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake" 28 | "/usr/share/cmake-3.5/Modules/CMakeParseArguments.cmake" 29 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake" 30 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake" 31 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake" 32 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake" 33 | "/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake" 34 | "/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake" 35 | "/usr/share/cmake-3.5/Modules/FindPackageMessage.cmake" 36 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake" 37 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake" 38 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake" 39 | "/usr/share/cmake-3.5/Modules/Platform/Linux.cmake" 40 | "/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake" 41 | ) 42 | 43 | # The corresponding makefile is: 44 | set(CMAKE_MAKEFILE_OUTPUTS 45 | "Makefile" 46 | "CMakeFiles/cmake.check_cache" 47 | ) 48 | 49 | # Byproducts of CMake generate step: 50 | set(CMAKE_MAKEFILE_PRODUCTS 51 | "CMakeFiles/CMakeDirectoryInformation.cmake" 52 | ) 53 | 54 | # Dependency information for all targets: 55 | set(CMAKE_DEPEND_INFO_FILES 56 | "CMakeFiles/ICP.dir/DependInfo.cmake" 57 | ) 58 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/build/CMakeFiles/ICP.dir 4 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/ICP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/build/ICP -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄ 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "Release") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_19_20/╫ў╥╡20-ICP╙ж╙├╩╡╝∙-┤·┬ы┐Є╝▄/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png -------------------------------------------------------------------------------- /homework_19_20/homework_19_20/╩ф│Ў▓╬┐╝╜с╣√.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/homework_19_20/╩ф│Ў▓╬┐╝╜с╣√.png -------------------------------------------------------------------------------- /homework_19_20/pointcloud_to_laserscan.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/pointcloud_to_laserscan.tar.gz -------------------------------------------------------------------------------- /homework_19_20/┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png -------------------------------------------------------------------------------- /homework_19_20/╩ф│Ў▓╬┐╝╜с╣√.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/╩ф│Ў▓╬┐╝╜с╣√.png -------------------------------------------------------------------------------- /homework_19_20/作业20-ICP应用实践-代码框架.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/作业20-ICP应用实践-代码框架.zip -------------------------------------------------------------------------------- /homework_19_20/作业20-小六-ICP应用实践-参考代码.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/作业20-小六-ICP应用实践-参考代码.zip -------------------------------------------------------------------------------- /homework_19_20/参考/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( ICP ) 3 | 4 | set( CMAKE_BUILD_TYPE "Release" ) 5 | set( CMAKE_CXX_FLAGS "-std=c++11 -O3" ) 6 | 7 | set (OpenCV_DIR "/home/cxl/Downloads/opencv-3.4.5/build") 8 | find_package( OpenCV 3.4 REQUIRED ) 9 | # find_package( OpenCV REQUIRED ) # use this if in OpenCV2 10 | FIND_PACKAGE(Pangolin REQUIRED) 11 | FIND_PACKAGE(Sophus REQUIRED) 12 | 13 | 14 | 15 | include_directories( 16 | ${Sophus_INCLUDE_DIRS} 17 | ${Pangolin_INCLUDE_DIRS} 18 | ${OpenCV_INCLUDE_DIRS} 19 | "/usr/include/eigen3/" 20 | ) 21 | 22 | add_executable( ${PROJECT_NAME} icp.cpp ) 23 | target_link_libraries( ${PROJECT_NAME} 24 | # ${Sophus_LIBRARIES} 25 | ${Pangolin_LIBRARIES} 26 | ${OpenCV_LIBS} 27 | /usr/local/lib/libSophus.so 28 | ) 29 | -------------------------------------------------------------------------------- /homework_19_20/参考/┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/参考/┤╙┴у┐к╩╝╤з╧░SLAM╨╟╟Є╜щ╔▄.png -------------------------------------------------------------------------------- /homework_19_20/参考/╩ф│Ў▓╬┐╝╜с╣√.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_19_20/参考/╩ф│Ў▓╬┐╝╜с╣√.png -------------------------------------------------------------------------------- /homework_2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | 3 | set(CMAKE_CXX_FLAGS "-std=c++11") 4 | 5 | include_directories("/usr/include/eigen3") 6 | add_executable(eigen Eigen.cpp) 7 | #target_link_libraries(namePicture ${OpenCV_LIBS})//eigen不需要,因为他只有头文件 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /homework_2/Eigen.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | 7 | int main() 8 | { 9 | //要注意Eigen中四元数赋值的顺序,实数w在首; 10 | //但是实际上它的内部存储顺序是[x y z w]。实际上后面输出系数的时候也是按内部存储顺序输出 11 | Eigen::Quaterniond q(0.1,0.35,0.2,0.3);//初始化把w放前面 12 | cout<= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_2/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_2/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_2 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_2/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_2/build/eigen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_2/build/eigen -------------------------------------------------------------------------------- /homework_2/作业: -------------------------------------------------------------------------------- 1 | 已知相机的位姿用四元数表示为q=[0.35,0.2,0.3,0.1],顺序为x,y,z,w, 2 | 请编程实现: 输出四元数对应的旋转矩阵、旋转矩阵的转置,旋转矩阵的逆矩阵,旋转矩阵乘以自身的转置,验证旋转矩阵的正交性 3 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( slerpQuaternion ) 3 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3") 4 | 5 | include_directories( "/usr/include/eigen3" ) 6 | find_package( OpenCV REQUIRED ) 7 | 8 | include_directories( ${OpenCV_INCLUDE_DIRS} ) 9 | add_executable( slerpQuaternion slerpQuaternion.cpp ) 10 | target_link_libraries( slerpQuaternion ${OpenCV_LIBS} ) -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-58-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-58-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-58-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-58-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir 4 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/slerpQuaternion.cpp" "/home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/slerpQuaternion.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/usr/include/eigen3" 14 | "/opt/ros/kinetic/include/opencv-3.3.1-dev" 15 | "/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv" 16 | ) 17 | 18 | # Targets to which this target links. 19 | set(CMAKE_TARGET_LINKED_INFO_FILES 20 | ) 21 | 22 | # Fortran module output directory. 23 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 24 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/slerpQuaternion.dir/slerpQuaternion.cpp.o" 3 | "slerpQuaternion.pdb" 4 | "slerpQuaternion" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/slerpQuaternion.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 -O3 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/include/eigen3 -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/slerpQuaternion.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/CMakeFiles/slerpQuaternion.dir/slerpQuaternion.cpp.o -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/作业21-四元数插值-代码框架/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/build/slerpQuaternion: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_21-四元数插值-代码框架/build/slerpQuaternion -------------------------------------------------------------------------------- /homework_21-四元数插值-代码框架/slerpQuaternion.cpp: -------------------------------------------------------------------------------- 1 | /**************************** 2 | * 题目:四元数球面线性插值 3 | * 我们用智能手机采集了图像序列和IMU数据,由于IMU帧率远大于图像帧率,需要你用Slerp方法进行四元数插值,使得插值后的IMU和图像帧对齐 4 | * 已知某帧图像的时间戳为:t =700901880170406,离该图像帧最近的前后两个时刻IMU时间戳为: 5 | * t1 = 700901879318945,t2 = 700901884127851 6 | * IMU在t1, t2时刻测量得的旋转四元数为: 7 | * q1x=0.509339, q1y=0.019188, q1z=0.049596, q1w=0.858921; 8 | * q2x=0.509443, q2y=0.018806, q2z=0.048944,q2w=0.858905 9 | * 根据上述信息求IMU对齐到图像帧的插值后的四元数 10 | * 本程序学习目标: 11 | * 学习四元数球面线性插值方法,注意实际使用中需要考虑的问题。 12 | * 13 | * 作者:公众号:计算机视觉life。发布于公众号旗下知识星球:从零开始学习SLAM 14 | * 时间:2019.08 15 | ****************************/ 16 | #include 17 | 18 | #include 19 | #include 20 | 21 | #include 22 | 23 | #include 24 | 25 | using namespace std; 26 | using namespace cv; 27 | using namespace Eigen; 28 | 29 | // 四元数球面线性插值简化方法:v'=v1*cosθ' + v⊥*sinθ',原理见公众号推送文章 30 | Quaterniond slerp(double t, Quaterniond &q1, Quaterniond &q2) 31 | { 32 | // ---- 开始你的代码 ----- // 33 | // 参考公众号推送文章 34 | Quaterniond q_slerp; 35 | float cos_q1q2=q1.w()*q2.w()+q1.x()*q2.x()+q1.y()*q2.y()+q1.z()*q2.z(); 36 | 37 | 38 | //判断夹角 39 | if(cos_q1q2<0.0f) 40 | { 41 | //q1=-1*q1;//这样定义是错误的 42 | q1.w()=-1*q1.w(); 43 | q1.x()=-1*q1.x(); 44 | q1.y()=-1*q1.y(); 45 | q1.z()=-1*q1.z(); 46 | //cos_q1q2=-1*cos_q1q2; 47 | cos_q1q2=q1.w()*q2.w()+q1.x()*q2.x()+q1.y()*q2.y()+q1.z()*q2.z(); 48 | 49 | } 50 | 51 | float k1,k2; 52 | 53 | if(cos_q1q2>0.9995f) 54 | { 55 | k1=1.0f-t; 56 | k2=t; 57 | } 58 | 59 | else 60 | { 61 | float sin_q1q2=sqrt(1.0f-cos_q1q2*cos_q1q2); 62 | float q1q2=atan2(sin_q1q2,cos_q1q2); 63 | k1=sin((1.0f-t)*q1q2)/sin_q1q2; 64 | k2=sin(t*q1q2)/sin_q1q2; 65 | } 66 | 67 | //q_slerp=k1*q1+k2*q2;//这样定义是错误的 68 | q_slerp.w()=k1*q1.w()+k2*q2.w(); 69 | q_slerp.x()=k1*q1.x()+k2*q2.x(); 70 | q_slerp.y()=k1*q1.y()+k2*q2.y(); 71 | q_slerp.z()=k1*q1.z()+k2*q2.z(); 72 | 73 | 74 | return q_slerp; 75 | 76 | 77 | // ---- 结束你的代码 ----- // 78 | } 79 | int main ( int argc, char** argv ) 80 | { 81 | double t_img(700901880170406), t1_imu(700901879318945), t2_imu(700901884127851); 82 | Quaterniond q1 = Quaterniond(0.858921,0.509339, 0.019188, 0.049596); 83 | Quaterniond q2 = Quaterniond(0.858905,0.509443, 0.018806, 0.048944); 84 | double t = (t_img-t1_imu)*1e-9; 85 | cout<= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_3/build/CMakeFiles/newFeather.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_3/cppNewFeather.cpp" "/home/lyy/from_0_to_1_for_slam/homework_3/build/CMakeFiles/newFeather.dir/cppNewFeather.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/opt/ros/kinetic/include/opencv-3.3.1-dev" 14 | "/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv" 15 | ) 16 | 17 | # Targets to which this target links. 18 | set(CMAKE_TARGET_LINKED_INFO_FILES 19 | ) 20 | 21 | # Fortran module output directory. 22 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 23 | -------------------------------------------------------------------------------- /homework_3/build/CMakeFiles/newFeather.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/newFeather.dir/cppNewFeather.cpp.o" 3 | "newFeather.pdb" 4 | "newFeather" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/newFeather.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_3/build/CMakeFiles/newFeather.dir/cppNewFeather.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_3/build/CMakeFiles/newFeather.dir/cppNewFeather.cpp.o -------------------------------------------------------------------------------- /homework_3/build/CMakeFiles/newFeather.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_3/build/CMakeFiles/newFeather.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_3/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_3/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_3 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_3/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_3/build/newFeather: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_3/build/newFeather -------------------------------------------------------------------------------- /homework_3/cppNewFeather.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #include //sort 5 | #include "opencv2/opencv.hpp" 6 | using namespace cv; 7 | using namespace std; 8 | 9 | bool cmp(Point2i pt1, Point2i pt2){ 10 | 11 | // --- ----// 12 | if(pt1.x vec; 26 | vec.push_back(Point2i(2, 1)); 27 | vec.push_back(Point2i(3, 3)); 28 | vec.push_back(Point2i(2, 3)); 29 | vec.push_back(Point2i(3, 2)); 30 | vec.push_back(Point2i(3, 1)); 31 | vec.push_back(Point2i(1, 3)); 32 | vec.push_back(Point2i(1, 1)); 33 | vec.push_back(Point2i(2, 2)); 34 | vec.push_back(Point2i(1, 2)); 35 | 36 | cout << "Before sort: " << endl; 37 | for (int i = 0; i < vec.size(); i++){ 38 | cout << vec[i] << endl; 39 | } 40 | 41 | sort(vec.begin(), vec.end(), cmp); 42 | 43 | cout << "After sort: " << endl; 44 | for (int i = 0; i < vec.size(); i++){ 45 | cout << vec[i] << endl; 46 | } 47 | 48 | return 0; 49 | } 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /homework_3/作业: -------------------------------------------------------------------------------- 1 | 请使用C++新特性改写以下函数。该函数功能:将一组无序的坐标按照“Z”字形排序,并输出。 2 | 3 | 4 | 本程序学习目标: 5 | 6 | 熟悉C++新特性(简化循环、自动类型推导、列表初始化、lambda函数) 7 | -------------------------------------------------------------------------------- /homework_4/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.5) 2 | 3 | set(CMAKE_CXX_FLAGS "-std=c++11") 4 | find_package(OpenCV REQUIRED) 5 | add_executable(cross cross.cpp) 6 | add_executable(classCross classCross.cpp) 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-43-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-43-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-43-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-43-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_4") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_4/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/Makefile.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # The generator used is: 5 | set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") 6 | 7 | # The top level Makefile was generated from the following files: 8 | set(CMAKE_MAKEFILE_DEPENDS 9 | "CMakeCache.txt" 10 | "../CMakeLists.txt" 11 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 12 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 13 | "CMakeFiles/3.5.1/CMakeSystem.cmake" 14 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVConfig-version.cmake" 15 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVConfig.cmake" 16 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVModules-release.cmake" 17 | "/opt/ros/kinetic/share/OpenCV-3.3.1-dev/OpenCVModules.cmake" 18 | "/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake" 19 | "/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake" 20 | "/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake" 21 | "/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake" 22 | "/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake" 23 | "/usr/share/cmake-3.5/Modules/CMakeParseArguments.cmake" 24 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake" 25 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake" 26 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake" 27 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake" 28 | "/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake" 29 | "/usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake" 30 | "/usr/share/cmake-3.5/Modules/FindPackageMessage.cmake" 31 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake" 32 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake" 33 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake" 34 | "/usr/share/cmake-3.5/Modules/Platform/Linux.cmake" 35 | "/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake" 36 | ) 37 | 38 | # The corresponding makefile is: 39 | set(CMAKE_MAKEFILE_OUTPUTS 40 | "Makefile" 41 | "CMakeFiles/cmake.check_cache" 42 | ) 43 | 44 | # Byproducts of CMake generate step: 45 | set(CMAKE_MAKEFILE_PRODUCTS 46 | "CMakeFiles/CMakeDirectoryInformation.cmake" 47 | ) 48 | 49 | # Dependency information for all targets: 50 | set(CMAKE_DEPEND_INFO_FILES 51 | "CMakeFiles/classCross.dir/DependInfo.cmake" 52 | "CMakeFiles/cross.dir/DependInfo.cmake" 53 | ) 54 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_4/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_4/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_4/build/CMakeFiles/classCross.dir 4 | /home/lyy/from_0_to_1_for_slam/homework_4/build/CMakeFiles/cross.dir 5 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/CXX.includecache: -------------------------------------------------------------------------------- 1 | #IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) 2 | 3 | #IncludeRegexScan: ^.*$ 4 | 5 | #IncludeRegexComplain: ^$ 6 | 7 | #IncludeRegexTransform: 8 | 9 | /home/lyy/from_0_to_1_for_slam/homework_4/classCross.cpp 10 | iostream 11 | - 12 | stdio.h 13 | - 14 | string 15 | - 16 | iostream 17 | - 18 | vector 19 | - 20 | algorithm 21 | - 22 | cassert 23 | - 24 | cmath 25 | - 26 | iterator 27 | - 28 | 29 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_4/classCross.cpp" "/home/lyy/from_0_to_1_for_slam/homework_4/build/CMakeFiles/classCross.dir/classCross.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | ) 14 | 15 | # Targets to which this target links. 16 | set(CMAKE_TARGET_LINKED_INFO_FILES 17 | ) 18 | 19 | # Fortran module output directory. 20 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 21 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/classCross.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/classCross.dir/classCross.cpp.o -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/classCross.dir/classCross.cpp.o" 3 | "classCross.pdb" 4 | "classCross" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/classCross.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/depend.internal: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | CMakeFiles/classCross.dir/classCross.cpp.o 5 | /home/lyy/from_0_to_1_for_slam/homework_4/classCross.cpp 6 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/depend.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | CMakeFiles/classCross.dir/classCross.cpp.o: ../classCross.cpp 5 | 6 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = 10 | 11 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -std=c++11 CMakeFiles/classCross.dir/classCross.cpp.o -o classCross 2 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/classCross.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/CXX.includecache: -------------------------------------------------------------------------------- 1 | #IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) 2 | 3 | #IncludeRegexScan: ^.*$ 4 | 5 | #IncludeRegexComplain: ^$ 6 | 7 | #IncludeRegexTransform: 8 | 9 | /home/lyy/from_0_to_1_for_slam/homework_4/cross.cpp 10 | iostream 11 | - 12 | vector 13 | - 14 | algorithm 15 | - 16 | cassert 17 | - 18 | cmath 19 | - 20 | iterator 21 | - 22 | 23 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_4/cross.cpp" "/home/lyy/from_0_to_1_for_slam/homework_4/build/CMakeFiles/cross.dir/cross.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | ) 14 | 15 | # Targets to which this target links. 16 | set(CMAKE_TARGET_LINKED_INFO_FILES 17 | ) 18 | 19 | # Fortran module output directory. 20 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 21 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/cross.dir/cross.cpp.o" 3 | "cross.pdb" 4 | "cross" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/cross.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/cross.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/cross.dir/cross.cpp.o -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/depend.internal: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | CMakeFiles/cross.dir/cross.cpp.o 5 | /home/lyy/from_0_to_1_for_slam/homework_4/cross.cpp 6 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/depend.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | CMakeFiles/cross.dir/cross.cpp.o: ../cross.cpp 5 | 6 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = 10 | 11 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -std=c++11 CMakeFiles/cross.dir/cross.cpp.o -o cross 2 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/cross.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 3 2 | CMAKE_PROGRESS_2 = 4 3 | 4 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_4/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /homework_4/build/classCross: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/classCross -------------------------------------------------------------------------------- /homework_4/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_4 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_4/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_4/build/cross: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_4/build/cross -------------------------------------------------------------------------------- /homework_4/classCross.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include //sort 7 | #include 8 | #include 9 | #include 10 | 11 | using namespace std; 12 | /* 13 | typedef int P(); // 简单的 14 | typedef void Q(int *p, const std::string& s1, const std::string& s2, size_t size, bool is_true); // 复杂的 15 | class X { 16 | public: 17 | P(eat_shit); // 等价于声明`int eat_shit();` 18 | Q(bullshit); // 等价于声明`void bullshit(int *p, const string& s1, const string& s2, size_t size, bool is_true);` 19 | }; 20 | 21 | 22 | 23 | int main() { 24 | X *xx; 25 | printf("shit ret: %d\n", xx->eat_shit()); 26 | int a[] = {1, 3, 4, 5, 7}; 27 | xx->bullshit(a, "foo", "bar", sizeof(a)/sizeof(int), true); 28 | } 29 | 30 | int X::eat_shit() { 31 | return 888; 32 | } 33 | 34 | void X::bullshit(int *p, const std::string& s1, const std::string& s2, size_t size, bool is_true) { 35 | std::cout << "s1: " << s1 << ", s2: " << s2 << ", size: " << size << std::endl; 36 | printf("elems:\n"); 37 | for(int i = 0; i < size; i++) { 38 | printf("%d %s", *p++, (i == size-1) ? "" : ","); 39 | } 40 | printf("\n"); 41 | }*/ 42 | 43 | 44 | class Vector 45 | { 46 | 47 | public: 48 | Vector(double cx, double cy, double cz) : x(cz), y(cy), z(cz){} 49 | Vector OuterProduct(const Vector & v) 50 | { 51 | double nx = y * v.z - z * v.y; 52 | double ny = z * v.x - x * v.z; 53 | double nz = x * v.y - y * v.x; 54 | return Vector(nx, ny, nz); 55 | 56 | } 57 | double InnerProduct(const Vector & v) 58 | { 59 | return x * v.x + y * v.y + z * v.z; 60 | 61 | } 62 | void print() 63 | { 64 | cout< 3 | #include 4 | #include //sort 5 | #include 6 | #include 7 | #include 8 | 9 | using namespace std; 10 | 11 | typedef vector Vec0;//向量的定义重命名不能与库函数重名,否则报错模糊 12 | 13 | Vec0 operator-(const Vec0& x, const Vec0& y) 14 | { 15 | assert(x.size() == y.size()); 16 | 17 | Vec0 tmp; 18 | for(size_t i = 0; i < x.size(); ++i) 19 | { 20 | tmp.push_back(x[i] - y[i]); 21 | } 22 | 23 | return tmp; // 返回局部变量的拷贝 24 | } 25 | 26 | double operator*(const Vec0& x, const Vec0& y) 27 | { 28 | assert(x.size() == y.size()); 29 | double sum = 0.; 30 | for (size_t i = 0; i < x.size(); ++i) 31 | { 32 | sum += x[i]*y[i]; 33 | } 34 | 35 | return sum; 36 | } 37 | 38 | // 三维的情况 39 | Vec0 operator^(const Vec0& x, const Vec0& y) 40 | { 41 | assert(x.size() == y.size() && x.size() == 3); 42 | return Vec0{x[1]*y[2]-x[2]*y[1], 43 | x[2]*y[0]-x[0]*y[2], 44 | x[0]*y[1]-x[1]*y[0]}; 45 | 46 | } 47 | 48 | //模长或范数计算 49 | double norm(const Vec0& x) 50 | { 51 | double val = 0.; 52 | for(auto elem: x) 53 | { 54 | val += elem*elem; 55 | } 56 | 57 | return sqrt(val); 58 | 59 | } 60 | 61 | // 二维就姑且返回其模长吧 62 | double twoDCrossProd(const Vec0& x, const Vec0& y) 63 | { 64 | return x[0]*y[1]-x[1]*y[0]; 65 | } 66 | 67 | //向量夹角计算 68 | #define PI 3.14159265358979323846 69 | // 弧长向弧度的转换 70 | double toDegree(double val) 71 | { 72 | return val*180/PI; 73 | } 74 | 75 | double angle(const Vec0& x, const Vec0& y) 76 | { 77 | return toDegree(acos(x*y/norm(x)/norm(y))); 78 | // x*y, 计算二者的内积 79 | } 80 | 81 | //点到直线距离 82 | // x0, x1, x2 分别表示三角形的三个顶点的坐标 83 | // 这里计算的是点x0到x1和x2构成的直线的距离 84 | double distance(const Vec0& x0, const Vec0& x1, const Vec0& x2) 85 | { 86 | return twoDCrossProd(x1-x0, x2-x0)/norm(x1-x2); 87 | } 88 | 89 | int main(int,char**) 90 | { 91 | 92 | Vec0 x{1, 0, 0}, y{0, 1, 0}; 93 | Vec0 z = x^y; // 计算叉乘 94 | copy(z.begin(), z.end(), ostream_iterator(cout, " ")); 95 | cout << endl;// 0 0 1 96 | Vec0 w=x-y;//相减法 97 | copy(w.begin(), w.end(), ostream_iterator(cout, " ")); 98 | cout << endl; 99 | double k=x*y;//点乘法 100 | cout<= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_5/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_5/build/CMakeFiles/rotationTransforms.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_5/rotationTransforms.cpp" "/home/lyy/from_0_to_1_for_slam/homework_5/build/CMakeFiles/rotationTransforms.dir/rotationTransforms.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/usr/include/eigen3" 14 | ) 15 | 16 | # Targets to which this target links. 17 | set(CMAKE_TARGET_LINKED_INFO_FILES 18 | ) 19 | 20 | # Fortran module output directory. 21 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 22 | -------------------------------------------------------------------------------- /homework_5/build/CMakeFiles/rotationTransforms.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/rotationTransforms.dir/rotationTransforms.cpp.o" 3 | "rotationTransforms.pdb" 4 | "rotationTransforms" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/rotationTransforms.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_5/build/CMakeFiles/rotationTransforms.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/include/eigen3 10 | 11 | -------------------------------------------------------------------------------- /homework_5/build/CMakeFiles/rotationTransforms.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -std=c++11 CMakeFiles/rotationTransforms.dir/rotationTransforms.cpp.o -o rotationTransforms -rdynamic 2 | -------------------------------------------------------------------------------- /homework_5/build/CMakeFiles/rotationTransforms.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_5/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_5 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_5/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_5/build/rotationTransforms: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_5/build/rotationTransforms -------------------------------------------------------------------------------- /homework_5/result.txt: -------------------------------------------------------------------------------- 1 | rotation_vector axis = 2 | 0 3 | 0 4 | 1 5 | rotation_vector angle = 0.785398 6 | rotation matrix = 7 | 0.707 -0.707 0 8 | 0.707 0.707 0 9 | 0 0 1 10 | 四元数输出方法1:quaternion = 11 | 0 12 | 0.383 13 | 0.924 14 | 0 15 | 四元数输出方法2: 16 | x = 0 17 | y = 0.383 18 | z = 0.924 19 | w = 0 20 | Euler: yaw pitch roll = 0.785398 0 0 21 | 旋转向量转化为旋转矩阵方法1:rotation matrix = 22 | 0.707107 -0.707107 0 23 | 0.707107 0.707107 0 24 | 0 0 1 25 | 旋转向量转化为旋转矩阵方法2:rotation matrix = 26 | 0.707107 -0.707107 0 27 | 0.707107 0.707107 0 28 | 0 0 1 29 | 旋转向量转化为四元数:quaternion = 30 | 0 31 | 0 32 | 0.382683 33 | 0.92388 34 | 旋转矩阵转化为旋转向量:rotation_vector axis = 35 | 0 36 | 0 37 | 1 38 | rotation_vector angle = 0.785336 39 | 旋转矩阵直接给旋转向量赋值初始化:rotation_vector axis = 40 | 0 41 | 0 42 | 1 43 | rotation_vector angle = 0.785336 44 | 旋转矩阵转化为欧拉角:yaw pitch roll = 0 0.785398 0 45 | 旋转矩阵转化为四元数:quaternion = 46 | 0 47 | 0 48 | 0.382638 49 | 0.923851 50 | 四元数转化为旋转向量:rotation_vector axis = 51 | 0 52 | 0 53 | 1 54 | rotation_vector angle = 0.785336 55 | 四元数转化为旋转矩阵方法1:rotation matrix = 56 | 0.707177 -0.707 0 57 | 0.707 0.707177 0 58 | 0 0 1 59 | 四元数转化为旋转矩阵方法2:rotation matrix = 60 | 0.707177 -0.707 0 61 | 0.707 0.707177 0 62 | 0 0 1 63 | Transform matrix = 64 | 0.707151 -0.707063 0 1 65 | 0.707063 0.707151 0 2 66 | 0 0 1 3 67 | 0 0 0 1 68 | 欧氏变化矩阵提取旋转矩阵:rotation_matrix = 69 | 0.707151 -0.707063 0 70 | 0.707063 0.707151 0 71 | 0 0 1 72 | 欧氏变化矩阵提取平移向量:translation = 73 | 1 74 | 2 75 | 3 -------------------------------------------------------------------------------- /homework_5/作业: -------------------------------------------------------------------------------- 1 | 已知旋转矩阵定义是沿着Z轴旋转45°。请按照该定义初始化旋转向量、旋转矩阵、四元数、欧拉角。请编程实现: 2 | 1、以上四种表达方式的相互转换关系并输出,并参考给出的结果验证是否正确。 3 | 2、假设平移向量为(1,2,3),请输出旋转矩阵和该平移矩阵构成的欧式变换矩阵,并根据欧式变换矩阵提取旋转向量及平移向量。 4 | 5 | 本程序学习目标: 1、学习eigen中刚体旋转的四种表达方式,熟悉他们之间的相互转换关系 2、熟悉旋转平移和欧式变换矩阵的相互转换关系 6 | 7 | 8 | Eigen中四元数、欧拉角、旋转矩阵、旋转向量之间的转换 9 | https://blog.csdn.net/yang__jing/article/details/82316093 10 | 11 | Eigen矩阵块操作 12 | https://blog.csdn.net/hanss2/article/details/78822955 13 | -------------------------------------------------------------------------------- /homework_6/作业: -------------------------------------------------------------------------------- 1 | 我们知道单位四元数q可以表达旋转。一个三维空间点可以用虚四元数p表示,用四元数 q 旋转点 p 的结果p'为: p'=qpq^-1 2 | 证明:此时 p′ 必定为虚四元数(实部为零)。 3 | 参考《视觉SLAM十四讲》P55页及四元数的运算 4 | -------------------------------------------------------------------------------- /homework_6/作业6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_6/作业6.jpg -------------------------------------------------------------------------------- /homework_7/1jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_7/1jpg -------------------------------------------------------------------------------- /homework_7/作业7:理论推导题.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_7/作业7:理论推导题.pdf -------------------------------------------------------------------------------- /homework_8/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project(draw_trajectory ) 3 | set(CMAKE_CXX_FLAGS "-std=c++11") 4 | 5 | include_directories("/usr/include/eigen3") 6 | 7 | find_package(Sophus REQUIRED) 8 | include_directories(${Sophus_INCLUDE_DIRS}) 9 | 10 | find_package(Pangolin REQUIRED) 11 | include_directories(${Pangolin_INCLUDE_DIRS}) 12 | 13 | add_executable( draw_trajectory draw_trajectory.cpp ) 14 | target_link_libraries(draw_trajectory ${Sophus_LIBRARIES}) 15 | target_link_libraries(draw_trajectory ${Pangolin_LIBRARIES}) 16 | -------------------------------------------------------------------------------- /homework_8/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 15 | 16 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-47-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-47-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-47-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-47-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_8") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_8/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/Makefile.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # The generator used is: 5 | set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") 6 | 7 | # The top level Makefile was generated from the following files: 8 | set(CMAKE_MAKEFILE_DEPENDS 9 | "CMakeCache.txt" 10 | "/home/lyy/Linux_dependence/Sophus/build/SophusConfig.cmake" 11 | "../CMakeLists.txt" 12 | "CMakeFiles/3.5.1/CMakeCCompiler.cmake" 13 | "CMakeFiles/3.5.1/CMakeCXXCompiler.cmake" 14 | "CMakeFiles/3.5.1/CMakeSystem.cmake" 15 | "/usr/local/lib/cmake/Pangolin/PangolinConfig.cmake" 16 | "/usr/local/lib/cmake/Pangolin/PangolinConfigVersion.cmake" 17 | "/usr/local/lib/cmake/Pangolin/PangolinTargets-release.cmake" 18 | "/usr/local/lib/cmake/Pangolin/PangolinTargets.cmake" 19 | "/usr/share/cmake-3.5/Modules/CMakeCInformation.cmake" 20 | "/usr/share/cmake-3.5/Modules/CMakeCXXInformation.cmake" 21 | "/usr/share/cmake-3.5/Modules/CMakeCommonLanguageInclude.cmake" 22 | "/usr/share/cmake-3.5/Modules/CMakeGenericSystem.cmake" 23 | "/usr/share/cmake-3.5/Modules/CMakeLanguageInformation.cmake" 24 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInformation.cmake" 25 | "/usr/share/cmake-3.5/Modules/CMakeSystemSpecificInitialize.cmake" 26 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-C.cmake" 27 | "/usr/share/cmake-3.5/Modules/Compiler/GNU-CXX.cmake" 28 | "/usr/share/cmake-3.5/Modules/Compiler/GNU.cmake" 29 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-C.cmake" 30 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU-CXX.cmake" 31 | "/usr/share/cmake-3.5/Modules/Platform/Linux-GNU.cmake" 32 | "/usr/share/cmake-3.5/Modules/Platform/Linux.cmake" 33 | "/usr/share/cmake-3.5/Modules/Platform/UnixPaths.cmake" 34 | ) 35 | 36 | # The corresponding makefile is: 37 | set(CMAKE_MAKEFILE_OUTPUTS 38 | "Makefile" 39 | "CMakeFiles/cmake.check_cache" 40 | ) 41 | 42 | # Byproducts of CMake generate step: 43 | set(CMAKE_MAKEFILE_PRODUCTS 44 | "CMakeFiles/CMakeDirectoryInformation.cmake" 45 | ) 46 | 47 | # Dependency information for all targets: 48 | set(CMAKE_DEPEND_INFO_FILES 49 | "CMakeFiles/draw_trajectory.dir/DependInfo.cmake" 50 | ) 51 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_8/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_8/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_8/build/CMakeFiles/draw_trajectory.dir 4 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/draw_trajectory.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_8/draw_trajectory.cpp" "/home/lyy/from_0_to_1_for_slam/homework_8/build/CMakeFiles/draw_trajectory.dir/draw_trajectory.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/usr/include/eigen3" 14 | "/home/lyy/Linux_dependence/Sophus" 15 | "/usr/local/lib/cmake/Pangolin/../../../include" 16 | ) 17 | 18 | # Targets to which this target links. 19 | set(CMAKE_TARGET_LINKED_INFO_FILES 20 | ) 21 | 22 | # Fortran module output directory. 23 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 24 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/draw_trajectory.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/draw_trajectory.dir/draw_trajectory.cpp.o" 3 | "draw_trajectory.pdb" 4 | "draw_trajectory" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/draw_trajectory.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/draw_trajectory.dir/draw_trajectory.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/CMakeFiles/draw_trajectory.dir/draw_trajectory.cpp.o -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/draw_trajectory.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/include/eigen3 -I/home/lyy/Linux_dependence/Sophus -I/usr/local/lib/cmake/Pangolin/../../../include 10 | 11 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/draw_trajectory.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -std=c++11 CMakeFiles/draw_trajectory.dir/draw_trajectory.cpp.o -o draw_trajectory -rdynamic /home/lyy/Linux_dependence/Sophus/build/libSophus.so /usr/local/lib/libpangolin.so -lGLU -lGL -lGLEW -lX11 -lpython2.7 -lavcodec -lavformat -lavutil -lswscale -lOpenNI -lpng -lz -ljpeg -ltiff -Wl,-rpath,/home/lyy/Linux_dependence/Sophus/build:/usr/local/lib 2 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/draw_trajectory.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_8/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_8/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_8 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_8/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_8/build/draw_trajectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_8/build/draw_trajectory -------------------------------------------------------------------------------- /homework_8/作业: -------------------------------------------------------------------------------- 1 | SLAM问题的目标之一就是精确的估计相机运动的轨迹(姿态),如果我们将相机运动的轨迹绘制出来,就可以直观的观察它的运动是否符合预期 2 | 。给定一个轨迹文件trajectory.txt,该文件的每一行由若干个数据组成,格式为 [time, tx, ty, tz, qx, qy, qz, qw],其中 time 为时间,tx,ty,tz 为平移部分,qx,qy,qz,qw 是四元数表示的旋转部分,请完成数据读取部分的代码,绘制部分代码已经给出。 代码框架和轨迹数据见: 3 | 4 | 好的参考:关于Sophus使用 5 | http://www.manongjc.com/article/39785.html 6 | 7 | 网上答案 8 | https://blog.csdn.net/xdzhangzhenhao/article/details/81462338 9 | -------------------------------------------------------------------------------- /homework_9/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required( VERSION 2.8 ) 2 | project( undistort ) 3 | 4 | set( CMAKE_CXX_FLAGS "-std=c++11" ) 5 | 6 | find_package( OpenCV REQUIRED ) 7 | 8 | include_directories( ${OpenCV_INCLUDE_DIRS} ) 9 | 10 | add_executable( undistort_image undistort_image.cpp ) 11 | 12 | target_link_libraries( undistort_image ${OpenCV_LIBS} ) 13 | -------------------------------------------------------------------------------- /homework_9/build/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/1.png -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/3.5.1/CMakeCCompiler.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_C_COMPILER "/usr/bin/cc") 2 | set(CMAKE_C_COMPILER_ARG1 "") 3 | set(CMAKE_C_COMPILER_ID "GNU") 4 | set(CMAKE_C_COMPILER_VERSION "5.4.0") 5 | set(CMAKE_C_COMPILER_WRAPPER "") 6 | set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") 7 | set(CMAKE_C_COMPILE_FEATURES "c_function_prototypes;c_restrict;c_variadic_macros;c_static_assert") 8 | set(CMAKE_C90_COMPILE_FEATURES "c_function_prototypes") 9 | set(CMAKE_C99_COMPILE_FEATURES "c_restrict;c_variadic_macros") 10 | set(CMAKE_C11_COMPILE_FEATURES "c_static_assert") 11 | 12 | set(CMAKE_C_PLATFORM_ID "Linux") 13 | set(CMAKE_C_SIMULATE_ID "") 14 | set(CMAKE_C_SIMULATE_VERSION "") 15 | 16 | set(CMAKE_AR "/usr/bin/ar") 17 | set(CMAKE_RANLIB "/usr/bin/ranlib") 18 | set(CMAKE_LINKER "/usr/bin/ld") 19 | set(CMAKE_COMPILER_IS_GNUCC 1) 20 | set(CMAKE_C_COMPILER_LOADED 1) 21 | set(CMAKE_C_COMPILER_WORKS TRUE) 22 | set(CMAKE_C_ABI_COMPILED TRUE) 23 | set(CMAKE_COMPILER_IS_MINGW ) 24 | set(CMAKE_COMPILER_IS_CYGWIN ) 25 | if(CMAKE_COMPILER_IS_CYGWIN) 26 | set(CYGWIN 1) 27 | set(UNIX 1) 28 | endif() 29 | 30 | set(CMAKE_C_COMPILER_ENV_VAR "CC") 31 | 32 | if(CMAKE_COMPILER_IS_MINGW) 33 | set(MINGW 1) 34 | endif() 35 | set(CMAKE_C_COMPILER_ID_RUN 1) 36 | set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) 37 | set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) 38 | set(CMAKE_C_LINKER_PREFERENCE 10) 39 | 40 | # Save compiler ABI information. 41 | set(CMAKE_C_SIZEOF_DATA_PTR "8") 42 | set(CMAKE_C_COMPILER_ABI "ELF") 43 | set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 44 | 45 | if(CMAKE_C_SIZEOF_DATA_PTR) 46 | set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") 47 | endif() 48 | 49 | if(CMAKE_C_COMPILER_ABI) 50 | set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") 51 | endif() 52 | 53 | if(CMAKE_C_LIBRARY_ARCHITECTURE) 54 | set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") 55 | endif() 56 | 57 | set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") 58 | if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) 59 | set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") 60 | endif() 61 | 62 | 63 | 64 | 65 | set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") 66 | set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/5;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") 67 | set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") 68 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/CMakeFiles/3.5.1/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/3.5.1/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.15.0-47-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.15.0-47-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.15.0-47-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.15.0-47-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/3.5.1/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/CMakeFiles/3.5.1/CompilerIdC/a.out -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/CMakeFiles/3.5.1/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/lyy/from_0_to_1_for_slam/homework_9") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/lyy/from_0_to_1_for_slam/homework_9/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/lyy/from_0_to_1_for_slam/homework_9/build/CMakeFiles/edit_cache.dir 2 | /home/lyy/from_0_to_1_for_slam/homework_9/build/CMakeFiles/rebuild_cache.dir 3 | /home/lyy/from_0_to_1_for_slam/homework_9/build/CMakeFiles/undistort_image.dir 4 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/undistort_image.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/lyy/from_0_to_1_for_slam/homework_9/undistort_image.cpp" "/home/lyy/from_0_to_1_for_slam/homework_9/build/CMakeFiles/undistort_image.dir/undistort_image.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/opt/ros/kinetic/include/opencv-3.3.1-dev" 14 | "/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv" 15 | ) 16 | 17 | # Targets to which this target links. 18 | set(CMAKE_TARGET_LINKED_INFO_FILES 19 | ) 20 | 21 | # Fortran module output directory. 22 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 23 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/undistort_image.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/undistort_image.dir/undistort_image.cpp.o" 3 | "undistort_image.pdb" 4 | "undistort_image" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/undistort_image.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/undistort_image.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.5 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=c++11 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev -isystem /opt/ros/kinetic/include/opencv-3.3.1-dev/opencv 10 | 11 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/undistort_image.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /homework_9/build/CMakeFiles/undistort_image.dir/undistort_image.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/CMakeFiles/undistort_image.dir/undistort_image.cpp.o -------------------------------------------------------------------------------- /homework_9/build/cmake_install.cmake: -------------------------------------------------------------------------------- 1 | # Install script for directory: /home/lyy/from_0_to_1_for_slam/homework_9 2 | 3 | # Set the install prefix 4 | if(NOT DEFINED CMAKE_INSTALL_PREFIX) 5 | set(CMAKE_INSTALL_PREFIX "/usr/local") 6 | endif() 7 | string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") 8 | 9 | # Set the install configuration name. 10 | if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) 11 | if(BUILD_TYPE) 12 | string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" 13 | CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") 14 | else() 15 | set(CMAKE_INSTALL_CONFIG_NAME "") 16 | endif() 17 | message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") 18 | endif() 19 | 20 | # Set the component getting installed. 21 | if(NOT CMAKE_INSTALL_COMPONENT) 22 | if(COMPONENT) 23 | message(STATUS "Install component: \"${COMPONENT}\"") 24 | set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") 25 | else() 26 | set(CMAKE_INSTALL_COMPONENT) 27 | endif() 28 | endif() 29 | 30 | # Install shared libraries without execute permission? 31 | if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) 32 | set(CMAKE_INSTALL_SO_NO_EXE "1") 33 | endif() 34 | 35 | if(CMAKE_INSTALL_COMPONENT) 36 | set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") 37 | else() 38 | set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") 39 | endif() 40 | 41 | string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT 42 | "${CMAKE_INSTALL_MANIFEST_FILES}") 43 | file(WRITE "/home/lyy/from_0_to_1_for_slam/homework_9/build/${CMAKE_INSTALL_MANIFEST}" 44 | "${CMAKE_INSTALL_MANIFEST_CONTENT}") 45 | -------------------------------------------------------------------------------- /homework_9/build/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/test.png -------------------------------------------------------------------------------- /homework_9/build/undistort_image: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/homework_9/build/undistort_image -------------------------------------------------------------------------------- /homework_9/undistort_image.cpp: -------------------------------------------------------------------------------- 1 | /**************************** 2 | * 题目:相机视场角比较小(比如手机摄像头)时,一般可以近似为针孔相机成像,三维世界中的直线成像也是直线。 3 | * 但是很多时候需要用到广角甚至鱼眼相机,此时会产生畸变,三维世界中的直线在图像里会弯曲。因此,需要做去畸变。 4 | * 给定一张广角畸变图像,以及相机的内参,请完成图像去畸变过程 5 | * 6 | * 本程序学习目标: 7 | * 掌握图像去畸变原理 8 | * 9 | * 时间:2018.10 10 | ****************************/ 11 | #include 12 | 13 | using namespace std; 14 | string image_file = "./test.png"; // 请确保路径正确 15 | 16 | int main(int argc, char **argv) { 17 | 18 | double k1 = -0.28340811, k2 = 0.07395907; // 畸变参数 19 | double fx = 458.654, fy = 457.296, cx = 367.215, cy = 248.375; 20 | 21 | cv::Mat image = cv::imread(image_file, CV_8UC1); // 图像是灰度图 22 | int rows = image.rows, cols = image.cols; 23 | cv::Mat image_undistort = cv::Mat(rows, cols, CV_8UC1); // 去畸变以后的图 24 | cv::imshow("image distorted", image); 25 | // 计算去畸变后图像的内容 26 | for (int v = 0; v < rows; v++) 27 | for (int u = 0; u < cols; u++) { 28 | 29 | double u_distorted = 0, v_distorted = 0; 30 | // 开始代码,注意(u,v)要先转化为归一化坐标 31 | // u=u/v; 32 | // v=1; 33 | //将图像像素坐标转换成相机坐标 34 | double x=(u-cx)/fx;////x,u自己写成v 35 | double y=(v-cy)/fy; 36 | double r_2=x*x+y*y; 37 | double x_distorted=x*(1+k1*r_2+k2*r_2*r_2); 38 | double y_distorted=y*(1+k1*r_2+k2*r_2*r_2); 39 | //将相机坐标变为像素坐标 40 | u_distorted=x_distorted*fx+cx; 41 | v_distorted=y_distorted*fy+cy; 42 | // 结束代码 43 | //cout<<"11"<= 0 && v_distorted >= 0 && u_distorted < cols && v_distorted < rows) { 45 | image_undistort.at(v, u) = image.at((int) v_distorted, (int) u_distorted); 46 | } else { 47 | image_undistort.at(v, u) = 0; 48 | } 49 | } 50 | 51 | cv::imshow("image undistorted", image_undistort); 52 | cv::waitKey(); 53 | 54 | return 0; 55 | } 56 | 57 | -------------------------------------------------------------------------------- /icp.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lyy-ai/SLAM-Learning/ab534ab513ce3d6b0d6cabf0ccbd8f657fbaa2d1/icp.pdf --------------------------------------------------------------------------------