├── 3rdparty └── .gitkeep ├── src ├── eigen_defs.h ├── camera │ └── Camera.h ├── test │ ├── datasets.h │ └── datasets.cpp └── matrix │ ├── matrix_utils.h │ ├── essential_solver.h │ ├── matrix_utils.cpp │ ├── essential_solver.cpp │ ├── homography_solver.h │ ├── homography_solver.cpp │ ├── orientation_form_matrix.h │ └── orientation_form_matrix.cpp ├── vs_build └── StereoV3DCode │ ├── StereoV3DCode.cpp │ ├── .vs │ └── StereoV3DCode │ │ └── v14 │ │ └── .suo │ ├── StereoV3DCode.vcxproj.user │ ├── targetver.h │ ├── StereoV3DCode.sln │ ├── ReadMe.txt │ ├── StereoV3DCode.vcxproj.filters │ └── StereoV3DCode.vcxproj ├── README.md ├── samples └── data │ └── matrix │ ├── intrinsics.yml │ └── extrinsics.yml └── LICENSE /3rdparty/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/eigen_defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/eigen_defs.h -------------------------------------------------------------------------------- /src/camera/Camera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/camera/Camera.h -------------------------------------------------------------------------------- /src/test/datasets.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/test/datasets.h -------------------------------------------------------------------------------- /src/matrix/matrix_utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/matrix_utils.h -------------------------------------------------------------------------------- /src/matrix/essential_solver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/essential_solver.h -------------------------------------------------------------------------------- /src/matrix/matrix_utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/matrix_utils.cpp -------------------------------------------------------------------------------- /src/matrix/essential_solver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/essential_solver.cpp -------------------------------------------------------------------------------- /src/matrix/homography_solver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/homography_solver.h -------------------------------------------------------------------------------- /src/matrix/homography_solver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/homography_solver.cpp -------------------------------------------------------------------------------- /src/matrix/orientation_form_matrix.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/orientation_form_matrix.h -------------------------------------------------------------------------------- /src/matrix/orientation_form_matrix.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/src/matrix/orientation_form_matrix.cpp -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/StereoV3DCode.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/vs_build/StereoV3DCode/StereoV3DCode.cpp -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/.vs/StereoV3DCode/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ethan-li-coding/StereoV3DCode/HEAD/vs_build/StereoV3DCode/.vs/StereoV3DCode/v14/.suo -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/StereoV3DCode.vcxproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # StereoV3DCode 2 | 《立体视觉入门指南》课程C++代码 3 | 4 | ### 第三方库 5 | Eigen 6 |
OpenCV 7 |
编译好的版本下载:[https://download.csdn.net/download/rs_lys/14981085](https://download.csdn.net/download/rs_lys/14981085) 8 | 9 | ### 博客地址 10 | [Ethan Li 李迎松](https://blog.csdn.net/rs_lys) 11 | 12 | ### 更新进度 13 |   第一章 坐标系与相机参数 14 |
  第二章 关键矩阵 15 | 16 | ### 更新日志 2021.4.17 17 | 1. 增加一个本质矩阵解算类(含测试) 18 | 2. 增加一个单应性矩阵解算类(含测试) 19 | 3. 增加一个模拟的双目数据类,用于生成模拟的测试数据[2021.4.10] 20 | 4. 增加本质矩阵分解R,t函数(含测试)[2021.4.17] 21 | 22 | -------------------------------------------------------------------------------- /samples/data/matrix/intrinsics.yml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | --- 3 | M1: !!opencv-matrix 4 | rows: 3 5 | cols: 3 6 | dt: d 7 | data: [ 5.3398796382502758e+02, 0., 3.2838647583744523e+02, 0., 8 | 5.2871083166023755e+02, 2.3684273091753437e+02, 0., 0., 1. ] 9 | D1: !!opencv-matrix 10 | rows: 1 11 | cols: 14 12 | dt: d 13 | data: [ -2.5896589434119782e-01, -1.2618468757024184e-01, 0., 0., 0., 14 | 0., 0., -3.9963517949239835e-01, 0., 0., 0., 0., 0., 0. ] 15 | M2: !!opencv-matrix 16 | rows: 3 17 | cols: 3 18 | dt: d 19 | data: [ 5.3398796382502758e+02, 0., 3.1377033111753229e+02, 0., 20 | 5.2871083166023755e+02, 2.4187045690014719e+02, 0., 0., 1. ] 21 | D2: !!opencv-matrix 22 | rows: 1 23 | cols: 14 24 | dt: d 25 | data: [ -2.6296220864595998e-01, -1.2154427389213773e-02, 0., 0., 0., 26 | 0., 0., -1.9510545560126802e-01, 0., 0., 0., 0., 0., 0. ] 27 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 李迎松 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/StereoV3DCode.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.30804.86 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "StereoV3DCode", "StereoV3DCode.vcxproj", "{25470881-01CF-450D-A17C-9A94A37BA5D1}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{E51E023F-DA34-479E-82B6-61A5E7FCB55A}" 9 | ProjectSection(SolutionItems) = preProject 10 | ..\..\README.md = ..\..\README.md 11 | EndProjectSection 12 | EndProject 13 | Global 14 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 15 | Debug|x64 = Debug|x64 16 | Debug|x86 = Debug|x86 17 | Release|x64 = Release|x64 18 | Release|x86 = Release|x86 19 | EndGlobalSection 20 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 21 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Debug|x64.ActiveCfg = Debug|x64 22 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Debug|x64.Build.0 = Debug|x64 23 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Debug|x86.ActiveCfg = Debug|Win32 24 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Debug|x86.Build.0 = Debug|Win32 25 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Release|x64.ActiveCfg = Release|x64 26 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Release|x64.Build.0 = Release|x64 27 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Release|x86.ActiveCfg = Release|Win32 28 | {25470881-01CF-450D-A17C-9A94A37BA5D1}.Release|x86.Build.0 = Release|Win32 29 | EndGlobalSection 30 | GlobalSection(SolutionProperties) = preSolution 31 | HideSolutionNode = FALSE 32 | EndGlobalSection 33 | GlobalSection(ExtensibilityGlobals) = postSolution 34 | SolutionGuid = {21DE382C-D6A0-435F-AA78-5A39D06A3DD0} 35 | EndGlobalSection 36 | EndGlobal 37 | -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | CONSOLE APPLICATION : StereoV3DCode Project Overview 3 | ======================================================================== 4 | 5 | AppWizard has created this StereoV3DCode application for you. 6 | 7 | This file contains a summary of what you will find in each of the files that 8 | make up your StereoV3DCode application. 9 | 10 | 11 | StereoV3DCode.vcxproj 12 | This is the main project file for VC++ projects generated using an Application Wizard. 13 | It contains information about the version of Visual C++ that generated the file, and 14 | information about the platforms, configurations, and project features selected with the 15 | Application Wizard. 16 | 17 | StereoV3DCode.vcxproj.filters 18 | This is the filters file for VC++ projects generated using an Application Wizard. 19 | It contains information about the association between the files in your project 20 | and the filters. This association is used in the IDE to show grouping of files with 21 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the 22 | "Source Files" filter). 23 | 24 | StereoV3DCode.cpp 25 | This is the main application source file. 26 | 27 | ///////////////////////////////////////////////////////////////////////////// 28 | Other standard files: 29 | 30 | StdAfx.h, StdAfx.cpp 31 | These files are used to build a precompiled header (PCH) file 32 | named StereoV3DCode.pch and a precompiled types file named StdAfx.obj. 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | Other notes: 36 | 37 | AppWizard uses "TODO:" comments to indicate parts of the source code you 38 | should add to or customize. 39 | 40 | ///////////////////////////////////////////////////////////////////////////// 41 | -------------------------------------------------------------------------------- /samples/data/matrix/extrinsics.yml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | --- 3 | R: !!opencv-matrix 4 | rows: 3 5 | cols: 3 6 | dt: d 7 | data: [ 9.9997149579080535e-01, 4.8210116286829859e-03, 8 | 5.8108048302649620e-03, -4.8866671827332113e-03, 9 | 9.9992378062933918e-01, 1.1338139872769284e-02, 10 | -5.7557006302035411e-03, -1.1366212157327780e-02, 11 | 9.9991883727203090e-01 ] 12 | T: !!opencv-matrix 13 | rows: 3 14 | cols: 1 15 | dt: d 16 | data: [ -3.3427086946183784e+00, 4.6825941478185688e-02, 17 | 3.6523737018390699e-03 ] 18 | R1: !!opencv-matrix 19 | rows: 3 20 | cols: 3 21 | dt: d 22 | data: [ 9.9994753472841635e-01, -9.1729783853483106e-03, 23 | 4.5589755543035942e-03, 9.1468660419574358e-03, 24 | 9.9994182997819359e-01, 5.7158990081949525e-03, 25 | -4.6111421766512149e-03, -5.6738987833173564e-03, 26 | 9.9997327176301243e-01 ] 27 | R2: !!opencv-matrix 28 | rows: 3 29 | cols: 3 30 | dt: d 31 | data: [ 9.9990130029640945e-01, -1.4006999726608484e-02, 32 | -1.0925311019519593e-03, 1.4000550481670508e-02, 33 | 9.9988572501355666e-01, -5.7027625169190502e-03, 34 | 1.1722848459904706e-03, 5.6869036191033199e-03, 35 | 9.9998314229564245e-01 ] 36 | P1: !!opencv-matrix 37 | rows: 3 38 | cols: 4 39 | dt: d 40 | data: [ 4.3964859571224139e+02, 0., 3.1932436370849609e+02, 0., 0., 41 | 4.3964859571224139e+02, 2.3945365142822266e+02, 0., 0., 0., 1., 42 | 0. ] 43 | P2: !!opencv-matrix 44 | rows: 3 45 | cols: 4 46 | dt: d 47 | data: [ 4.3964859571224139e+02, 0., 3.1932436370849609e+02, 48 | -1.4697622485623519e+03, 0., 4.3964859571224139e+02, 49 | 2.3945365142822266e+02, 0., 0., 0., 1., 0. ] 50 | Q: !!opencv-matrix 51 | rows: 4 52 | cols: 4 53 | dt: d 54 | data: [ 1., 0., 0., -3.1932436370849609e+02, 0., 1., 0., 55 | -2.3945365142822266e+02, 0., 0., 0., 4.3964859571224139e+02, 0., 56 | 0., 2.9912905719430727e-01, 0. ] 57 | -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/StereoV3DCode.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {70834149-5aec-434e-be6d-055bce74639f} 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | Header Files 26 | 27 | 28 | Header Files 29 | 30 | 31 | Header Files 32 | 33 | 34 | matrix 35 | 36 | 37 | matrix 38 | 39 | 40 | matrix 41 | 42 | 43 | matrix 44 | 45 | 46 | 47 | 48 | Source Files 49 | 50 | 51 | Source Files 52 | 53 | 54 | matrix 55 | 56 | 57 | matrix 58 | 59 | 60 | matrix 61 | 62 | 63 | matrix 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/test/datasets.cpp: -------------------------------------------------------------------------------- 1 | /* -*-c++-*- StereoV3D - Copyright (C) 2021. 2 | * Author : Ethan Li 3 | * https://github.com/ethan-li-coding/StereoV3DCode 4 | */ 5 | 6 | #include "datasets.h" 7 | #include 8 | 9 | void sv3d::SimulativeStereoDataset::GenarateHomonymyPairs(const unsigned& k, Mat3X& p1, Mat3X& p2) 10 | { 11 | // 在立体相机的空间内随机生成k个空间点 12 | const double kDepthMin = 300., kDepthMax = 500.; 13 | 14 | // 在最小深度平面计算四个角点的世界坐标(世界坐标系=左相机坐标系) 15 | Vec3 x1(0, 0, kDepthMin), x2(0, h-1, kDepthMin), 16 | x3(w-1, 0, kDepthMin), x4(w - 1, h - 1, kDepthMin); 17 | auto P1 = cam1.TransformPointI2W(x1); 18 | auto P2 = cam1.TransformPointI2W(x2); 19 | auto P3 = cam1.TransformPointI2W(x3); 20 | auto P4 = cam1.TransformPointI2W(x4); 21 | 22 | // 生成一个空间立方体,在立方体范围内随机生成空间点 23 | const auto z_min(kDepthMin), z_max(kDepthMax); 24 | const auto x_min = (std::min)(P1.data()[0], P2.data()[0]); 25 | const auto x_max = (std::max)(P3.data()[0], P4.data()[0]); 26 | const auto y_min = (std::min)(P1.data()[1], P3.data()[1]); 27 | const auto y_max = (std::max)(P2.data()[1], P4.data()[1]); 28 | 29 | // 随机生成k个空间点 30 | std::random_device rd; 31 | std::mt19937 gen(rd()); 32 | std::uniform_real_distribution rand(0.0f, 1.0f); 33 | 34 | const auto x_range = x_max - x_min; 35 | const auto y_range = y_max - y_min; 36 | const auto z_range = z_max - z_min; 37 | p1.resize(3, k); 38 | p2.resize(3, k); 39 | for (unsigned n = 0; n < k; n++) { 40 | Vec3 w; 41 | w[0] = rand(gen) * x_range + x_min; 42 | w[1] = rand(gen) * y_range + y_min; 43 | w[2] = rand(gen) * z_range + z_min; 44 | 45 | Vec2 x1 = cam1.TransformPointW2I(w); 46 | Vec2 x2 = cam2.TransformPointW2I(w); 47 | 48 | p1.data()[3 * n] = x1[0]; p1.data()[3 * n + 1] = x1[1]; p1.data()[3 * n + 2] = 1.; 49 | p2.data()[3 * n] = x2[0]; p2.data()[3 * n + 1] = x2[1]; p2.data()[3 * n + 2] = 1.; 50 | } 51 | } 52 | 53 | void sv3d::SimulativeStereoDataset::GenarateHomonymyPairsInPlane(const unsigned& k, Mat3X& p1, Mat3X& p2, Mat3& H) 54 | { 55 | // 在立体相机的某深度平面内随机生成k个空间点 56 | const double kDepth = 400.; 57 | 58 | // 在深度平面计算四个角点的世界坐标(世界坐标系=左相机坐标系) 59 | Vec3 x1(0, 0, kDepth), x2(0, h - 1, kDepth), 60 | x3(w - 1, 0, kDepth), x4(w - 1, h - 1, kDepth); 61 | auto P1 = cam1.TransformPointI2W(x1); 62 | auto P2 = cam1.TransformPointI2W(x2); 63 | auto P3 = cam1.TransformPointI2W(x3); 64 | auto P4 = cam1.TransformPointI2W(x4); 65 | 66 | // 生成一个空间截面,截面范围内随机生成空间点 67 | const auto z(kDepth); 68 | const auto x_min = (std::min)(P1.data()[0], P2.data()[0]); 69 | const auto x_max = (std::max)(P3.data()[0], P4.data()[0]); 70 | const auto y_min = (std::min)(P1.data()[0], P3.data()[0]); 71 | const auto y_max = (std::max)(P2.data()[0], P4.data()[0]); 72 | 73 | // 随机生成k个空间点 74 | std::random_device rd; 75 | std::mt19937 gen(rd()); 76 | std::uniform_real_distribution rand(0.0f, 1.0f); 77 | 78 | const auto x_range = x_max - x_min; 79 | const auto y_range = y_max - y_min; 80 | p1.resize(3, k); 81 | p2.resize(3, k); 82 | for (unsigned n = 0; n < k; n++) { 83 | Vec3 w; 84 | w[0] = rand(gen) * x_range + x_min; 85 | w[1] = rand(gen) * y_range + y_min; 86 | w[2] = z; 87 | 88 | Vec2 x1 = cam1.TransformPointW2I(w); 89 | Vec2 x2 = cam2.TransformPointW2I(w); 90 | 91 | p1.data()[3 * n] = x1[0]; p1.data()[3 * n + 1] = x1[1]; p1.data()[3 * n + 2] = 1.; 92 | p2.data()[3 * n] = x2[0]; p2.data()[3 * n + 1] = x2[1]; p2.data()[3 * n + 2] = 1.; 93 | } 94 | 95 | // 计算单应性矩阵H, p2 = H*p1 96 | Mat3X t(3, 1); t << cam2.t_[0], cam2.t_[1], cam2.t_[2]; 97 | MatXX nt(1, 3); nt << 0, 0, 1. / z; 98 | H = cam2.K_ * (cam2.R_ + t * nt) * cam1.K_.inverse(); 99 | } 100 | -------------------------------------------------------------------------------- /vs_build/StereoV3DCode/StereoV3DCode.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | {25470881-01CF-450D-A17C-9A94A37BA5D1} 23 | Win32Proj 24 | StereoV3DCode 25 | 8.1 26 | 27 | 28 | 29 | Application 30 | true 31 | v140 32 | Unicode 33 | 34 | 35 | Application 36 | false 37 | v140 38 | true 39 | Unicode 40 | 41 | 42 | Application 43 | true 44 | v140 45 | Unicode 46 | 47 | 48 | Application 49 | false 50 | v140 51 | true 52 | Unicode 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | true 74 | 75 | 76 | true 77 | 78 | 79 | false 80 | 81 | 82 | false 83 | 84 | 85 | 86 | Use 87 | Level3 88 | Disabled 89 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) 90 | true 91 | 92 | 93 | Console 94 | true 95 | 96 | 97 | 98 | 99 | Use 100 | Level3 101 | Disabled 102 | _DEBUG;_CONSOLE;%(PreprocessorDefinitions) 103 | true 104 | ..\..\3rdparty\Eigen\eigen3;..\..\src\camera 105 | 106 | 107 | Console 108 | true 109 | 110 | 111 | 112 | 113 | Level3 114 | Use 115 | MaxSpeed 116 | true 117 | true 118 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 119 | true 120 | 121 | 122 | Console 123 | true 124 | true 125 | true 126 | 127 | 128 | 129 | 130 | Level3 131 | Use 132 | MaxSpeed 133 | true 134 | true 135 | NDEBUG;_CONSOLE;%(PreprocessorDefinitions) 136 | true 137 | ..\..\3rdparty\Eigen\eigen3;..\..\src\camera 138 | 139 | 140 | Console 141 | true 142 | true 143 | true 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | NotUsing 161 | NotUsing 162 | 163 | 164 | NotUsing 165 | NotUsing 166 | 167 | 168 | NotUsing 169 | NotUsing 170 | 171 | 172 | NotUsing 173 | NotUsing 174 | 175 | 176 | NotUsing 177 | NotUsing 178 | 179 | 180 | NotUsing 181 | NotUsing 182 | 183 | 184 | 185 | 186 | 187 | --------------------------------------------------------------------------------