├── .gitattributes ├── Example ├── People_counter │ ├── CMakeLists.txt │ ├── Makefile │ ├── cfg │ │ └── cam.cfg │ ├── config │ │ ├── 320240 │ │ │ ├── calibrationdata.tar.gz │ │ │ ├── left.yaml │ │ │ └── right.yaml │ │ ├── calibrationdata.tar.gz │ │ ├── left.yaml │ │ ├── right.yaml │ │ ├── rviz │ │ │ ├── demo_obstacle.rviz │ │ │ ├── demo_pointcloud.rviz │ │ │ ├── demo_slam.rviz │ │ │ ├── odometry.rviz │ │ │ └── rgbd.rviz │ │ └── test │ │ │ ├── left.yaml │ │ │ └── right.yaml │ ├── include │ │ ├── myahrs_plus.hpp │ │ ├── withrobot_camera.hpp │ │ └── withrobot_utility.hpp │ ├── launch │ │ ├── calibration.launch │ │ ├── disparity.launch │ │ └── ocams_ros.launch │ ├── package.xml │ └── src │ │ ├── .oCamS.cpp.swp │ │ ├── oCamS.cpp │ │ ├── withrobot_camera.cpp │ │ └── withrobot_utility.cpp ├── README.md ├── oCamS_Linux_ParameterControl_Example │ ├── .Makefile.swp │ ├── .cproject │ ├── .project │ ├── Makefile │ ├── build │ │ ├── main.o │ │ ├── withrobot_camera.o │ │ └── withrobot_utility.o │ ├── oCamS_Linux_ParameterControl_Example │ └── src │ │ ├── main.cpp │ │ ├── withrobot_camera.cpp │ │ ├── withrobot_camera.hpp │ │ ├── withrobot_utility.cpp │ │ └── withrobot_utility.hpp └── stereo_vw_example │ ├── 3rdparty │ ├── eigen │ │ ├── COPYING.BSD │ │ ├── COPYING.GPL │ │ ├── COPYING.LGPL │ │ ├── COPYING.MINPACK │ │ ├── COPYING.MPL2 │ │ ├── COPYING.README │ │ └── Eigen │ │ │ ├── Array │ │ │ ├── Cholesky │ │ │ ├── CholmodSupport │ │ │ ├── Core │ │ │ ├── Dense │ │ │ ├── Eigen │ │ │ ├── Eigen2Support │ │ │ ├── Eigenvalues │ │ │ ├── Geometry │ │ │ ├── Householder │ │ │ ├── IterativeLinearSolvers │ │ │ ├── Jacobi │ │ │ ├── LU │ │ │ ├── LeastSquares │ │ │ ├── MetisSupport │ │ │ ├── OrderingMethods │ │ │ ├── PaStiXSupport │ │ │ ├── PardisoSupport │ │ │ ├── QR │ │ │ ├── QtAlignedMalloc │ │ │ ├── SPQRSupport │ │ │ ├── SVD │ │ │ ├── Sparse │ │ │ ├── SparseCholesky │ │ │ ├── SparseCore │ │ │ ├── SparseLU │ │ │ ├── SparseQR │ │ │ ├── StdDeque │ │ │ ├── StdList │ │ │ ├── StdVector │ │ │ ├── SuperLUSupport │ │ │ ├── UmfPackSupport │ │ │ └── src │ │ │ ├── Cholesky │ │ │ ├── LDLT.h │ │ │ ├── LLT.h │ │ │ └── LLT_MKL.h │ │ │ ├── CholmodSupport │ │ │ └── CholmodSupport.h │ │ │ ├── Core │ │ │ ├── Array.h │ │ │ ├── ArrayBase.h │ │ │ ├── ArrayWrapper.h │ │ │ ├── Assign.h │ │ │ ├── Assign_MKL.h │ │ │ ├── BandMatrix.h │ │ │ ├── Block.h │ │ │ ├── BooleanRedux.h │ │ │ ├── CommaInitializer.h │ │ │ ├── CoreIterators.h │ │ │ ├── CwiseBinaryOp.h │ │ │ ├── CwiseNullaryOp.h │ │ │ ├── CwiseUnaryOp.h │ │ │ ├── CwiseUnaryView.h │ │ │ ├── DenseBase.h │ │ │ ├── DenseCoeffsBase.h │ │ │ ├── DenseStorage.h │ │ │ ├── Diagonal.h │ │ │ ├── DiagonalMatrix.h │ │ │ ├── DiagonalProduct.h │ │ │ ├── Dot.h │ │ │ ├── EigenBase.h │ │ │ ├── Flagged.h │ │ │ ├── ForceAlignedAccess.h │ │ │ ├── Functors.h │ │ │ ├── Fuzzy.h │ │ │ ├── GeneralProduct.h │ │ │ ├── GenericPacketMath.h │ │ │ ├── GlobalFunctions.h │ │ │ ├── IO.h │ │ │ ├── Map.h │ │ │ ├── MapBase.h │ │ │ ├── MathFunctions.h │ │ │ ├── Matrix.h │ │ │ ├── MatrixBase.h │ │ │ ├── NestByValue.h │ │ │ ├── NoAlias.h │ │ │ ├── NumTraits.h │ │ │ ├── PermutationMatrix.h │ │ │ ├── PlainObjectBase.h │ │ │ ├── ProductBase.h │ │ │ ├── Random.h │ │ │ ├── Redux.h │ │ │ ├── Ref.h │ │ │ ├── Replicate.h │ │ │ ├── ReturnByValue.h │ │ │ ├── Reverse.h │ │ │ ├── Select.h │ │ │ ├── SelfAdjointView.h │ │ │ ├── SelfCwiseBinaryOp.h │ │ │ ├── SolveTriangular.h │ │ │ ├── StableNorm.h │ │ │ ├── Stride.h │ │ │ ├── Swap.h │ │ │ ├── Transpose.h │ │ │ ├── Transpositions.h │ │ │ ├── TriangularMatrix.h │ │ │ ├── VectorBlock.h │ │ │ ├── VectorwiseOp.h │ │ │ ├── Visitor.h │ │ │ ├── arch │ │ │ │ ├── AltiVec │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ ├── Default │ │ │ │ │ └── Settings.h │ │ │ │ ├── NEON │ │ │ │ │ ├── Complex.h │ │ │ │ │ └── PacketMath.h │ │ │ │ └── SSE │ │ │ │ │ ├── Complex.h │ │ │ │ │ ├── MathFunctions.h │ │ │ │ │ └── PacketMath.h │ │ │ ├── products │ │ │ │ ├── CoeffBasedProduct.h │ │ │ │ ├── GeneralBlockPanelKernel.h │ │ │ │ ├── GeneralMatrixMatrix.h │ │ │ │ ├── GeneralMatrixMatrixTriangular.h │ │ │ │ ├── GeneralMatrixMatrixTriangular_MKL.h │ │ │ │ ├── GeneralMatrixMatrix_MKL.h │ │ │ │ ├── GeneralMatrixVector.h │ │ │ │ ├── GeneralMatrixVector_MKL.h │ │ │ │ ├── Parallelizer.h │ │ │ │ ├── SelfadjointMatrixMatrix.h │ │ │ │ ├── SelfadjointMatrixMatrix_MKL.h │ │ │ │ ├── SelfadjointMatrixVector.h │ │ │ │ ├── SelfadjointMatrixVector_MKL.h │ │ │ │ ├── SelfadjointProduct.h │ │ │ │ ├── SelfadjointRank2Update.h │ │ │ │ ├── TriangularMatrixMatrix.h │ │ │ │ ├── TriangularMatrixMatrix_MKL.h │ │ │ │ ├── TriangularMatrixVector.h │ │ │ │ ├── TriangularMatrixVector_MKL.h │ │ │ │ ├── TriangularSolverMatrix.h │ │ │ │ ├── TriangularSolverMatrix_MKL.h │ │ │ │ └── TriangularSolverVector.h │ │ │ └── util │ │ │ │ ├── BlasUtil.h │ │ │ │ ├── Constants.h │ │ │ │ ├── DisableStupidWarnings.h │ │ │ │ ├── ForwardDeclarations.h │ │ │ │ ├── MKL_support.h │ │ │ │ ├── Macros.h │ │ │ │ ├── Memory.h │ │ │ │ ├── Meta.h │ │ │ │ ├── NonMPL2.h │ │ │ │ ├── ReenableStupidWarnings.h │ │ │ │ ├── StaticAssert.h │ │ │ │ └── XprHelper.h │ │ │ ├── Eigen2Support │ │ │ ├── Block.h │ │ │ ├── Cwise.h │ │ │ ├── CwiseOperators.h │ │ │ ├── Geometry │ │ │ │ ├── AlignedBox.h │ │ │ │ ├── All.h │ │ │ │ ├── AngleAxis.h │ │ │ │ ├── Hyperplane.h │ │ │ │ ├── ParametrizedLine.h │ │ │ │ ├── Quaternion.h │ │ │ │ ├── Rotation2D.h │ │ │ │ ├── RotationBase.h │ │ │ │ ├── Scaling.h │ │ │ │ ├── Transform.h │ │ │ │ └── Translation.h │ │ │ ├── LU.h │ │ │ ├── Lazy.h │ │ │ ├── LeastSquares.h │ │ │ ├── Macros.h │ │ │ ├── MathFunctions.h │ │ │ ├── Memory.h │ │ │ ├── Meta.h │ │ │ ├── Minor.h │ │ │ ├── QR.h │ │ │ ├── SVD.h │ │ │ ├── TriangularSolver.h │ │ │ └── VectorBlock.h │ │ │ ├── Eigenvalues │ │ │ ├── ComplexEigenSolver.h │ │ │ ├── ComplexSchur.h │ │ │ ├── ComplexSchur_MKL.h │ │ │ ├── EigenSolver.h │ │ │ ├── GeneralizedEigenSolver.h │ │ │ ├── GeneralizedSelfAdjointEigenSolver.h │ │ │ ├── HessenbergDecomposition.h │ │ │ ├── MatrixBaseEigenvalues.h │ │ │ ├── RealQZ.h │ │ │ ├── RealSchur.h │ │ │ ├── RealSchur_MKL.h │ │ │ ├── SelfAdjointEigenSolver.h │ │ │ ├── SelfAdjointEigenSolver_MKL.h │ │ │ └── Tridiagonalization.h │ │ │ ├── Geometry │ │ │ ├── AlignedBox.h │ │ │ ├── AngleAxis.h │ │ │ ├── EulerAngles.h │ │ │ ├── Homogeneous.h │ │ │ ├── Hyperplane.h │ │ │ ├── OrthoMethods.h │ │ │ ├── ParametrizedLine.h │ │ │ ├── Quaternion.h │ │ │ ├── Rotation2D.h │ │ │ ├── RotationBase.h │ │ │ ├── Scaling.h │ │ │ ├── Transform.h │ │ │ ├── Translation.h │ │ │ ├── Umeyama.h │ │ │ └── arch │ │ │ │ └── Geometry_SSE.h │ │ │ ├── Householder │ │ │ ├── BlockHouseholder.h │ │ │ ├── Householder.h │ │ │ └── HouseholderSequence.h │ │ │ ├── IterativeLinearSolvers │ │ │ ├── BasicPreconditioners.h │ │ │ ├── BiCGSTAB.h │ │ │ ├── ConjugateGradient.h │ │ │ ├── IncompleteLUT.h │ │ │ └── IterativeSolverBase.h │ │ │ ├── Jacobi │ │ │ └── Jacobi.h │ │ │ ├── LU │ │ │ ├── Determinant.h │ │ │ ├── FullPivLU.h │ │ │ ├── Inverse.h │ │ │ ├── PartialPivLU.h │ │ │ ├── PartialPivLU_MKL.h │ │ │ └── arch │ │ │ │ └── Inverse_SSE.h │ │ │ ├── MetisSupport │ │ │ └── MetisSupport.h │ │ │ ├── OrderingMethods │ │ │ ├── Amd.h │ │ │ ├── Eigen_Colamd.h │ │ │ └── Ordering.h │ │ │ ├── PaStiXSupport │ │ │ └── PaStiXSupport.h │ │ │ ├── PardisoSupport │ │ │ └── PardisoSupport.h │ │ │ ├── QR │ │ │ ├── ColPivHouseholderQR.h │ │ │ ├── ColPivHouseholderQR_MKL.h │ │ │ ├── FullPivHouseholderQR.h │ │ │ ├── HouseholderQR.h │ │ │ └── HouseholderQR_MKL.h │ │ │ ├── SPQRSupport │ │ │ └── SuiteSparseQRSupport.h │ │ │ ├── SVD │ │ │ ├── JacobiSVD.h │ │ │ ├── JacobiSVD_MKL.h │ │ │ └── UpperBidiagonalization.h │ │ │ ├── SparseCholesky │ │ │ ├── SimplicialCholesky.h │ │ │ └── SimplicialCholesky_impl.h │ │ │ ├── SparseCore │ │ │ ├── AmbiVector.h │ │ │ ├── CompressedStorage.h │ │ │ ├── ConservativeSparseSparseProduct.h │ │ │ ├── MappedSparseMatrix.h │ │ │ ├── SparseBlock.h │ │ │ ├── SparseColEtree.h │ │ │ ├── SparseCwiseBinaryOp.h │ │ │ ├── SparseCwiseUnaryOp.h │ │ │ ├── SparseDenseProduct.h │ │ │ ├── SparseDiagonalProduct.h │ │ │ ├── SparseDot.h │ │ │ ├── SparseFuzzy.h │ │ │ ├── SparseMatrix.h │ │ │ ├── SparseMatrixBase.h │ │ │ ├── SparsePermutation.h │ │ │ ├── SparseProduct.h │ │ │ ├── SparseRedux.h │ │ │ ├── SparseSelfAdjointView.h │ │ │ ├── SparseSparseProductWithPruning.h │ │ │ ├── SparseTranspose.h │ │ │ ├── SparseTriangularView.h │ │ │ ├── SparseUtil.h │ │ │ ├── SparseVector.h │ │ │ ├── SparseView.h │ │ │ └── TriangularSolver.h │ │ │ ├── SparseLU │ │ │ ├── SparseLU.h │ │ │ ├── SparseLUImpl.h │ │ │ ├── SparseLU_Memory.h │ │ │ ├── SparseLU_Structs.h │ │ │ ├── SparseLU_SupernodalMatrix.h │ │ │ ├── SparseLU_Utils.h │ │ │ ├── SparseLU_column_bmod.h │ │ │ ├── SparseLU_column_dfs.h │ │ │ ├── SparseLU_copy_to_ucol.h │ │ │ ├── SparseLU_gemm_kernel.h │ │ │ ├── SparseLU_heap_relax_snode.h │ │ │ ├── SparseLU_kernel_bmod.h │ │ │ ├── SparseLU_panel_bmod.h │ │ │ ├── SparseLU_panel_dfs.h │ │ │ ├── SparseLU_pivotL.h │ │ │ ├── SparseLU_pruneL.h │ │ │ └── SparseLU_relax_snode.h │ │ │ ├── SparseQR │ │ │ └── SparseQR.h │ │ │ ├── StlSupport │ │ │ ├── StdDeque.h │ │ │ ├── StdList.h │ │ │ ├── StdVector.h │ │ │ └── details.h │ │ │ ├── SuperLUSupport │ │ │ └── SuperLUSupport.h │ │ │ ├── UmfPackSupport │ │ │ └── UmfPackSupport.h │ │ │ ├── misc │ │ │ ├── Image.h │ │ │ ├── Kernel.h │ │ │ ├── Solve.h │ │ │ ├── SparseSolve.h │ │ │ └── blas.h │ │ │ └── plugins │ │ │ ├── ArrayCwiseBinaryOps.h │ │ │ ├── ArrayCwiseUnaryOps.h │ │ │ ├── BlockMethods.h │ │ │ ├── CommonCwiseBinaryOps.h │ │ │ ├── CommonCwiseUnaryOps.h │ │ │ ├── MatrixCwiseBinaryOps.h │ │ │ └── MatrixCwiseUnaryOps.h │ ├── freetype │ │ ├── include │ │ │ ├── config │ │ │ │ ├── ftconfig.h │ │ │ │ ├── ftheader.h │ │ │ │ ├── ftmodule.h │ │ │ │ ├── ftoption.h │ │ │ │ └── ftstdlib.h │ │ │ ├── freetype.h │ │ │ ├── ft2build.h │ │ │ ├── ftadvanc.h │ │ │ ├── ftautoh.h │ │ │ ├── ftbbox.h │ │ │ ├── ftbdf.h │ │ │ ├── ftbitmap.h │ │ │ ├── ftbzip2.h │ │ │ ├── ftcache.h │ │ │ ├── ftcffdrv.h │ │ │ ├── ftchapters.h │ │ │ ├── ftcid.h │ │ │ ├── fterrdef.h │ │ │ ├── fterrors.h │ │ │ ├── ftgasp.h │ │ │ ├── ftglyph.h │ │ │ ├── ftgxval.h │ │ │ ├── ftgzip.h │ │ │ ├── ftimage.h │ │ │ ├── ftincrem.h │ │ │ ├── ftlcdfil.h │ │ │ ├── ftlist.h │ │ │ ├── ftlzw.h │ │ │ ├── ftmac.h │ │ │ ├── ftmm.h │ │ │ ├── ftmodapi.h │ │ │ ├── ftmoderr.h │ │ │ ├── ftotval.h │ │ │ ├── ftoutln.h │ │ │ ├── ftpfr.h │ │ │ ├── ftrender.h │ │ │ ├── ftsizes.h │ │ │ ├── ftsnames.h │ │ │ ├── ftstroke.h │ │ │ ├── ftsynth.h │ │ │ ├── ftsystem.h │ │ │ ├── fttrigon.h │ │ │ ├── ftttdrv.h │ │ │ ├── fttypes.h │ │ │ ├── ftwinfnt.h │ │ │ ├── ftxf86.h │ │ │ ├── internal │ │ │ │ ├── autohint.h │ │ │ │ ├── ftcalc.h │ │ │ │ ├── ftdebug.h │ │ │ │ ├── ftdriver.h │ │ │ │ ├── ftgloadr.h │ │ │ │ ├── ftmemory.h │ │ │ │ ├── ftobjs.h │ │ │ │ ├── ftpic.h │ │ │ │ ├── ftrfork.h │ │ │ │ ├── ftserv.h │ │ │ │ ├── ftstream.h │ │ │ │ ├── fttrace.h │ │ │ │ ├── ftvalid.h │ │ │ │ ├── internal.h │ │ │ │ ├── psaux.h │ │ │ │ ├── pshints.h │ │ │ │ ├── services │ │ │ │ │ ├── svbdf.h │ │ │ │ │ ├── svcid.h │ │ │ │ │ ├── svgldict.h │ │ │ │ │ ├── svgxval.h │ │ │ │ │ ├── svkern.h │ │ │ │ │ ├── svmm.h │ │ │ │ │ ├── svotval.h │ │ │ │ │ ├── svpfr.h │ │ │ │ │ ├── svpostnm.h │ │ │ │ │ ├── svprop.h │ │ │ │ │ ├── svpscmap.h │ │ │ │ │ ├── svpsinfo.h │ │ │ │ │ ├── svsfnt.h │ │ │ │ │ ├── svttcmap.h │ │ │ │ │ ├── svtteng.h │ │ │ │ │ ├── svttglyf.h │ │ │ │ │ ├── svwinfnt.h │ │ │ │ │ └── svxf86nm.h │ │ │ │ ├── sfnt.h │ │ │ │ ├── t1types.h │ │ │ │ └── tttypes.h │ │ │ ├── t1tables.h │ │ │ ├── ttnameid.h │ │ │ ├── tttables.h │ │ │ ├── tttags.h │ │ │ └── ttunpat.h │ │ └── libs │ │ │ └── libfreetype.a │ ├── glfw3 │ │ ├── COPYING.txt │ │ ├── include │ │ │ └── GLFW │ │ │ │ ├── glfw3.h │ │ │ │ └── glfw3native.h │ │ └── libs │ │ │ └── libglfw3.a │ └── opengl │ │ ├── EGL │ │ ├── egl.h │ │ ├── eglext.h │ │ ├── eglext_nv.h │ │ └── eglplatform.h │ │ ├── GLES3 │ │ ├── gl3.h │ │ ├── gl31.h │ │ ├── gl32.h │ │ └── gl3platform.h │ │ └── KHR │ │ └── khrplatform.h │ ├── Makefile │ ├── calib │ ├── left.yaml │ └── right.yaml │ ├── color_disparity_graph.cpp │ ├── color_disparity_graph.hpp │ ├── darknet │ ├── .gitattributes │ ├── coco.data │ ├── coco.names │ ├── libdarknet.so │ ├── yolov3.cfg │ └── yolov3.weights │ ├── include │ └── darknet.h │ ├── libs │ ├── libnvx.a │ └── libovx.a │ ├── main.cpp │ ├── main.hpp │ ├── nvgstcamera_capture_user_guide.md │ ├── nvxio │ ├── Makefile │ ├── include │ │ ├── NVX │ │ │ ├── Application.hpp │ │ │ ├── ConfigParser.hpp │ │ │ ├── Export.hpp │ │ │ ├── FrameSource.hpp │ │ │ ├── OptionHandler.hpp │ │ │ ├── ProfilerRange.hpp │ │ │ ├── Range.hpp │ │ │ ├── Render.hpp │ │ │ ├── Render3D.hpp │ │ │ ├── SyncTimer.hpp │ │ │ ├── ThreadSafeQueue.hpp │ │ │ ├── Utility.hpp │ │ │ └── detail │ │ │ │ └── OptionHandler.hpp │ │ └── OVX │ │ │ ├── FrameSourceOVX.hpp │ │ │ ├── Render3DOVX.hpp │ │ │ ├── RenderOVX.hpp │ │ │ └── UtilityOVX.hpp │ ├── obj │ │ └── release │ │ │ ├── Application.o │ │ │ ├── ArgumentParser.o │ │ │ ├── BaseRender3DImpl.o │ │ │ ├── ConfigParser.o │ │ │ ├── ConvertFrame.o │ │ │ ├── EGLAPIAccessors.o │ │ │ ├── EventLogger.o │ │ │ ├── EventPlayer.o │ │ │ ├── FrameSource.o │ │ │ ├── FrameSourceOVX.o │ │ │ ├── FrameSourceOVXWrapper.o │ │ │ ├── FrameSourceWrapper.o │ │ │ ├── GStreamerBaseFrameSourceImpl.o │ │ │ ├── GStreamerBaseRenderImpl.o │ │ │ ├── GStreamerCameraFrameSourceImpl.o │ │ │ ├── GStreamerCommon.o │ │ │ ├── GStreamerEGLStreamSinkFrameSourceImpl.o │ │ │ ├── GStreamerImagesFrameSourceImpl.o │ │ │ ├── GStreamerImagesRenderImpl.o │ │ │ ├── GStreamerNvCameraFrameSourceImpl.o │ │ │ ├── GStreamerNvMediaFrameSourceImpl.o │ │ │ ├── GStreamerOpenMAXFrameSourceImpl.o │ │ │ ├── GStreamerVideoFrameSourceImpl.o │ │ │ ├── GStreamerVideoRenderImpl.o │ │ │ ├── GlfwUIRenderImpl.o │ │ │ ├── ImageCapture.o │ │ │ ├── LogUtils.o │ │ │ ├── NVXIOFeatures.o │ │ │ ├── NvMediaCSI10635CameraFrameSourceImpl.o │ │ │ ├── NvMediaCSI10640CameraFrameSourceImpl.o │ │ │ ├── NvMediaVideoFrameSourceImpl.o │ │ │ ├── OpenCVFrameSourceImpl.o │ │ │ ├── OpenCVImageFrameSource.o │ │ │ ├── OpenCVVideoFrameSource.o │ │ │ ├── OpenGL.o │ │ │ ├── OpenGLBasicRenders.o │ │ │ ├── OpenGLOpenCVRenderImpl.o │ │ │ ├── OpenGLRenderImpl.o │ │ │ ├── OptionHandler.o │ │ │ ├── ProfilerRange.o │ │ │ ├── Render.o │ │ │ ├── Render3D.o │ │ │ ├── Render3DOVX.o │ │ │ ├── Render3DOVXWrapper.o │ │ │ ├── Render3DWrapper.o │ │ │ ├── RenderOVX.o │ │ │ ├── RenderOVXWrapper.o │ │ │ ├── RenderWrapper.o │ │ │ ├── SyncTimer.o │ │ │ ├── Types.o │ │ │ ├── TypesOVX.o │ │ │ ├── Utility.o │ │ │ ├── UtilityOVX.o │ │ │ ├── eglstrm_setup.o │ │ │ ├── img_producer.o │ │ │ ├── interop.o │ │ │ ├── ipp_component.o │ │ │ ├── ipp_raw.o │ │ │ ├── plugin.o │ │ │ └── plugin_config.o │ └── src │ │ ├── NVX │ │ ├── Application.cpp │ │ ├── ArgumentParser.cpp │ │ ├── ArgumentParser.hpp │ │ ├── ConfigParser.cpp │ │ ├── FrameSource │ │ │ ├── ConvertFrame.cpp │ │ │ ├── EGLAPIAccessors.cpp │ │ │ ├── EGLAPIAccessors.hpp │ │ │ ├── FrameSource.cpp │ │ │ ├── FrameSourceImpl.hpp │ │ │ ├── GStreamer │ │ │ │ ├── GStreamerBaseFrameSourceImpl.cpp │ │ │ │ ├── GStreamerBaseFrameSourceImpl.hpp │ │ │ │ ├── GStreamerCameraFrameSourceImpl.cpp │ │ │ │ ├── GStreamerCameraFrameSourceImpl.hpp │ │ │ │ ├── GStreamerCommon.cpp │ │ │ │ ├── GStreamerCommon.hpp │ │ │ │ ├── GStreamerEGLStreamSinkFrameSourceImpl.cpp │ │ │ │ ├── GStreamerEGLStreamSinkFrameSourceImpl.hpp │ │ │ │ ├── GStreamerImagesFrameSourceImpl.cpp │ │ │ │ ├── GStreamerImagesFrameSourceImpl.hpp │ │ │ │ ├── GStreamerNvCameraFrameSourceImpl.cpp │ │ │ │ ├── GStreamerNvCameraFrameSourceImpl.hpp │ │ │ │ ├── GStreamerNvMediaFrameSourceImpl.cpp │ │ │ │ ├── GStreamerNvMediaFrameSourceImpl.hpp │ │ │ │ ├── GStreamerOpenMAXFrameSourceImpl.cpp │ │ │ │ ├── GStreamerOpenMAXFrameSourceImpl.hpp │ │ │ │ ├── GStreamerVideoFrameSourceImpl.cpp │ │ │ │ └── GStreamerVideoFrameSourceImpl.hpp │ │ │ ├── NvMedia │ │ │ │ ├── NvMediaCSI10635CameraFrameSourceImpl.cpp │ │ │ │ ├── NvMediaCSI10635CameraFrameSourceImpl.hpp │ │ │ │ ├── NvMediaCSI10640CameraFrameSourceImpl.cpp │ │ │ │ ├── NvMediaCSI10640CameraFrameSourceImpl.hpp │ │ │ │ ├── NvMediaCameraConfigParams.hpp │ │ │ │ ├── NvMediaVideoFrameSourceImpl.cpp │ │ │ │ ├── NvMediaVideoFrameSourceImpl.hpp │ │ │ │ ├── OV10635 │ │ │ │ │ ├── ImageCapture.cpp │ │ │ │ │ └── ImageCapture.hpp │ │ │ │ └── OV10640 │ │ │ │ │ ├── eglstrm_setup.cpp │ │ │ │ │ ├── eglstrm_setup.hpp │ │ │ │ │ ├── img_producer.cpp │ │ │ │ │ ├── img_producer.hpp │ │ │ │ │ ├── interop.cpp │ │ │ │ │ ├── interop.hpp │ │ │ │ │ ├── ipp_component.cpp │ │ │ │ │ ├── ipp_component.hpp │ │ │ │ │ ├── ipp_raw.cpp │ │ │ │ │ ├── ipp_raw.hpp │ │ │ │ │ ├── main.hpp │ │ │ │ │ ├── plugin.c │ │ │ │ │ ├── plugin.h │ │ │ │ │ └── plugin_config.c │ │ │ ├── OpenCV │ │ │ │ ├── OpenCVBaseFrameSource.hpp │ │ │ │ ├── OpenCVFrameSourceImpl.cpp │ │ │ │ ├── OpenCVFrameSourceImpl.hpp │ │ │ │ ├── OpenCVImageFrameSource.cpp │ │ │ │ ├── OpenCVImageFrameSource.hpp │ │ │ │ ├── OpenCVVideoFrameSource.cpp │ │ │ │ └── OpenCVVideoFrameSource.hpp │ │ │ └── Wrappers │ │ │ │ ├── FrameSourceWrapper.cpp │ │ │ │ └── FrameSourceWrapper.hpp │ │ ├── NVXIOFeatures.cpp │ │ ├── OptionHandler.cpp │ │ ├── Private │ │ │ ├── GStreamerUtils.hpp │ │ │ ├── LogUtils.cpp │ │ │ ├── LogUtils.hpp │ │ │ ├── Types.cpp │ │ │ └── Types.hpp │ │ ├── ProfilerRange.cpp │ │ ├── Render │ │ │ ├── CUDA-OpenGL │ │ │ │ ├── BaseRender3DImpl.cpp │ │ │ │ ├── BaseRender3DImpl.hpp │ │ │ │ ├── OpenGL.cpp │ │ │ │ ├── OpenGL.hpp │ │ │ │ ├── OpenGLBasicRenders.cpp │ │ │ │ ├── OpenGLBasicRenders.hpp │ │ │ │ ├── OpenGLRenderImpl.cpp │ │ │ │ ├── OpenGLRenderImpl.hpp │ │ │ │ └── RenderUtils.hpp │ │ │ ├── EventLogger.cpp │ │ │ ├── EventLogger.hpp │ │ │ ├── EventPlayer.cpp │ │ │ ├── EventPlayer.hpp │ │ │ ├── GStreamer │ │ │ │ ├── GStreamerBaseRenderImpl.cpp │ │ │ │ ├── GStreamerBaseRenderImpl.hpp │ │ │ │ ├── GStreamerImagesRenderImpl.cpp │ │ │ │ ├── GStreamerImagesRenderImpl.hpp │ │ │ │ ├── GStreamerVideoRenderImpl.cpp │ │ │ │ └── GStreamerVideoRenderImpl.hpp │ │ │ ├── GlfwUIRenderImpl.cpp │ │ │ ├── GlfwUIRenderImpl.hpp │ │ │ ├── OpenCV │ │ │ │ ├── OpenGLOpenCVRenderImpl.cpp │ │ │ │ └── OpenGLOpenCVRenderImpl.hpp │ │ │ ├── Render.cpp │ │ │ ├── Render3D.cpp │ │ │ ├── Render3DImpl.hpp │ │ │ ├── RenderImpl.hpp │ │ │ ├── StubRenderImpl.hpp │ │ │ └── Wrappers │ │ │ │ ├── Render3DWrapper.cpp │ │ │ │ ├── Render3DWrapper.hpp │ │ │ │ ├── RenderWrapper.cpp │ │ │ │ └── RenderWrapper.hpp │ │ ├── SyncTimer.cpp │ │ └── Utility.cpp │ │ ├── OVX │ │ ├── FrameSource │ │ │ ├── FrameSourceOVX.cpp │ │ │ └── Wrappers │ │ │ │ ├── FrameSourceOVXWrapper.cpp │ │ │ │ └── FrameSourceOVXWrapper.hpp │ │ ├── Private │ │ │ ├── TypesOVX.cpp │ │ │ └── TypesOVX.hpp │ │ ├── Render │ │ │ ├── Render3DOVX.cpp │ │ │ ├── RenderOVX.cpp │ │ │ └── Wrappers │ │ │ │ ├── Render3DOVXWrapper.cpp │ │ │ │ ├── Render3DOVXWrapper.hpp │ │ │ │ ├── RenderOVXWrapper.cpp │ │ │ │ └── RenderOVXWrapper.hpp │ │ └── UtilityOVX.cpp │ │ └── OpenGLShaders.hpp │ ├── obj │ └── release │ │ ├── color_disparity_graph.o │ │ ├── main.o │ │ ├── main_nvgstcamera_capture.o │ │ ├── stereo_matching.o │ │ ├── withrobot_camera.o │ │ └── withrobot_utility.o │ ├── stereo_matching.cpp │ ├── stereo_matching.hpp │ ├── stereo_matching_demo_config.ini │ ├── stereo_vw_example │ ├── withrobot_camera.cpp │ ├── withrobot_camera.hpp │ ├── withrobot_utility.cpp │ └── withrobot_utility.hpp ├── Firmware ├── README.md ├── Update_FW │ ├── 170703_UpdateFW.zip │ ├── README.md │ └── drv_1.2.3.10.zip ├── oCamS-1CGN-U-F-R2011.img ├── oCamS-1CGN-U-F-R2103.img ├── oCamS-1CGN-U-R1811.img ├── oCamS-1CGN-U-R2111.img ├── oCamS-1CGN-U_R1705_170523.img ├── oCamS-1CGN-U_R1707_170719.img ├── oCamS-1CGN-U_R1803_180416.img ├── oCamS-1CGN-U_R2101.img ├── oCamS-1MGN-U-R1902.img └── oCamS-1MGN-U-R2111.img ├── Product ├── README.md ├── oCamS-1CGN-U │ ├── Korean │ │ └── README.md │ └── README.md └── oCamS-1MGN-U │ ├── Korean │ └── README.md │ └── README.md ├── README.md ├── Software ├── README.md └── oCamS_ROS_Package │ ├── README.md │ └── ocams_1cgn │ ├── CMakeLists.txt │ ├── cfg │ └── cam.cfg │ ├── config │ ├── left.yaml │ ├── right.yaml │ └── rviz │ │ ├── demo_obstacle.rviz │ │ ├── demo_pointcloud.rviz │ │ ├── demo_slam.rviz │ │ ├── odometry.rviz │ │ └── rgbd.rviz │ ├── include │ ├── myahrs_plus.hpp │ ├── withrobot_camera.hpp │ └── withrobot_utility.hpp │ ├── launch │ ├── RTAB-Map_slam.launch │ ├── calibration.launch │ ├── disparity.launch │ ├── obstacles_detection.launch │ ├── ocams_ros.launch │ └── pointcloud.launch │ ├── package.xml │ └── src │ ├── oCamS.cpp │ ├── withrobot_camera.cpp │ └── withrobot_utility.cpp └── images ├── 1_Run_UpdateFW.jpg ├── 2_device_change.jpg ├── 3_driver_setup.jpg ├── 4_UpdateFW.jpg ├── 5_Firmware_Update.JPG ├── oCamS-1CGN-U.png ├── oCamS-1CGN-U_Layout.PNG └── oCamS-1CGN-U_poster.jpg /.gitattributes: -------------------------------------------------------------------------------- 1 | yolov3.weights filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /Example/People_counter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(People_counter) 3 | 4 | add_definitions(-std=c++11) 5 | #set(CMAKE_CXX_FLAGS "-std=c++11 -O2 ${CMAKE_CXX_FLAGS}") 6 | 7 | find_package(catkin REQUIRED 8 | COMPONENTS 9 | roscpp 10 | std_msgs 11 | image_transport 12 | image_geometry 13 | camera_info_manager 14 | sensor_msgs 15 | tf 16 | dynamic_reconfigure 17 | ) 18 | 19 | generate_dynamic_reconfigure_options( 20 | cfg/cam.cfg 21 | ) 22 | 23 | catkin_package( 24 | INCLUDE_DIRS include 25 | CATKIN_DEPENDS 26 | roscpp 27 | std_msgs 28 | image_transport 29 | image_geometry 30 | camera_info_manager 31 | sensor_msgs 32 | tf 33 | dynamic_reconfigure 34 | ) 35 | 36 | find_package(Boost REQUIRED COMPONENTS system) 37 | find_package(OpenCV REQUIRED) 38 | 39 | include_directories( 40 | include 41 | ${catkin_INCLUDE_DIRS} 42 | ${OpenCV_INCLUDE_DIRS} 43 | ) 44 | 45 | add_executable(People_counter src/oCamS.cpp src/withrobot_camera.cpp src/withrobot_utility.cpp) 46 | target_link_libraries(People_counter ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${OpenCV_LIBS} -lv4l2 -ludev) 47 | add_dependencies(People_counter ${PROJECT_NAME}_gencfg) 48 | 49 | ############################################################################### 50 | 51 | #Add all files in subdirectories of the project in 52 | # a dummy_target so qtcreator have access to all files 53 | FILE(GLOB_RECURSE extra_files ${CMAKE_SOURCE_DIR}/*) 54 | add_custom_target(dummy_${PROJECT_NAME} SOURCES ${extra_files}) 55 | 56 | ############################################################################### 57 | -------------------------------------------------------------------------------- /Example/People_counter/config/320240/calibrationdata.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/People_counter/config/320240/calibrationdata.tar.gz -------------------------------------------------------------------------------- /Example/People_counter/config/320240/left.yaml: -------------------------------------------------------------------------------- 1 | image_width: 320 2 | image_height: 240 3 | camera_name: left 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [895.806931, 0.000000, 91.980796, 0.000000, 891.722308, 125.533544, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [0.012978, -1.796500, -0.008891, -0.000032, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.906934, -0.019658, 0.420813, 0.015733, 0.999794, 0.012799, -0.420978, -0.004987, 0.907057] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [1003.531295, 0.000000, -348.852467, 0.000000, 0.000000, 1003.531295, 124.764425, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Example/People_counter/config/320240/right.yaml: -------------------------------------------------------------------------------- 1 | image_width: 320 2 | image_height: 240 3 | camera_name: right 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [872.033038, 0.000000, 127.716125, 0.000000, 868.568415, 132.019630, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.459334, 0.556907, 0.001555, 0.003410, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.879500, -0.014591, 0.475676, 0.019060, 0.999808, -0.004571, -0.475518, 0.013086, 0.879609] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [1003.531295, 0.000000, -348.852467, -159.070912, 0.000000, 1003.531295, 124.764425, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Example/People_counter/config/calibrationdata.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/People_counter/config/calibrationdata.tar.gz -------------------------------------------------------------------------------- /Example/People_counter/config/left.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 480 3 | camera_name: left 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [400.101783, 0.000000, 313.582034, 0.000000, 399.754633, 231.646524, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.354733, 0.118519, -0.002171, -0.002778, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.962165, 0.038824, -0.269687, -0.038848, 0.999231, 0.005249, 0.269684, 0.005426, 0.962934] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [433.553025, 0.000000, 470.352457, 0.000000, 0.000000, 433.553025, 236.488789, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Example/People_counter/config/right.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 480 3 | camera_name: right 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [426.342160, 0.000000, 303.467386, 0.000000, 426.597695, 249.950741, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.392954, 0.140336, 0.000329, 0.001084, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.964555, 0.030764, -0.262084, -0.030740, 0.999519, 0.004191, 0.262087, 0.004014, 0.965036] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [433.553025, 0.000000, 470.352457, -54.116684, 0.000000, 433.553025, 236.488789, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Example/People_counter/config/test/left.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 360 3 | camera_name: narrow_stereo/left 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [488.320541, 0.000000, 339.682651, 0.000000, 486.679489, 170.549788, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.425681, 0.183309, 0.000893, -0.000623, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.999563, 0.001664, -0.029522, -0.001789, 0.999990, -0.004198, 0.029515, 0.004249, 0.999555] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [477.468630, 0.000000, 348.675591, 0.000000, 0.000000, 477.468630, 167.687349, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Example/People_counter/config/test/right.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 360 3 | camera_name: narrow_stereo/right 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [491.517053, 0.000000, 321.599281, 0.000000, 489.624160, 165.174932, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.421595, 0.161830, 0.001224, 0.000948, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.999798, 0.003327, -0.019825, -0.003243, 0.999986, 0.004257, 0.019839, -0.004192, 0.999794] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [477.468630, 0.000000, 348.675591, -57.174177, 0.000000, 477.468630, 167.687349, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Example/People_counter/launch/calibration.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Example/People_counter/launch/disparity.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Example/People_counter/launch/ocams_ros.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 43 | 44 | 46 | 47 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Example/People_counter/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | People_counter 4 | 0.0.2 5 | The oCamS-1CGN-U package 6 | 7 | Withrobot 8 | 9 | BSD 10 | 11 | https://github.com/withrobot/oCamS 12 | 13 | Withrobot 14 | 15 | catkin 16 | 17 | camera_info_manager 18 | image_transport 19 | roscpp 20 | std_msgs 21 | sensor_msgs 22 | tf 23 | dynamic_reconfigure 24 | image_geometry 25 | 26 | camera_info_manager 27 | image_transport 28 | roscpp 29 | std_msgs 30 | sensor_msgs 31 | tf 32 | dynamic_reconfigure 33 | image_geometry 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Example/People_counter/src/.oCamS.cpp.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/People_counter/src/.oCamS.cpp.swp -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/.Makefile.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/oCamS_Linux_ParameterControl_Example/.Makefile.swp -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | oCamS_Example 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder 10 | clean,full,incremental, 11 | 12 | 13 | ?name? 14 | 15 | 16 | 17 | org.eclipse.cdt.make.core.append_environment 18 | true 19 | 20 | 21 | org.eclipse.cdt.make.core.autoBuildTarget 22 | all 23 | 24 | 25 | org.eclipse.cdt.make.core.buildArguments 26 | 27 | 28 | 29 | org.eclipse.cdt.make.core.buildCommand 30 | make 31 | 32 | 33 | org.eclipse.cdt.make.core.cleanBuildTarget 34 | clean 35 | 36 | 37 | org.eclipse.cdt.make.core.contents 38 | org.eclipse.cdt.make.core.activeConfigSettings 39 | 40 | 41 | org.eclipse.cdt.make.core.enableAutoBuild 42 | false 43 | 44 | 45 | org.eclipse.cdt.make.core.enableCleanBuild 46 | true 47 | 48 | 49 | org.eclipse.cdt.make.core.enableFullBuild 50 | true 51 | 52 | 53 | org.eclipse.cdt.make.core.fullBuildTarget 54 | all 55 | 56 | 57 | org.eclipse.cdt.make.core.stopOnError 58 | true 59 | 60 | 61 | org.eclipse.cdt.make.core.useDefaultBuildCmd 62 | true 63 | 64 | 65 | 66 | 67 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder 68 | full,incremental, 69 | 70 | 71 | 72 | 73 | 74 | org.eclipse.cdt.core.cnature 75 | org.eclipse.cdt.core.ccnature 76 | org.eclipse.cdt.managedbuilder.core.managedBuildNature 77 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature 78 | 79 | 80 | -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # make file 3 | # 4 | 5 | .SUFFIXES : .c .cpp .o 6 | 7 | # GNU C++ compiler 8 | CC = g++ 9 | 10 | TARGET = $(notdir $(shell pwd)) ## current foldername is target name 11 | 12 | BUILD_PATH = ./build 13 | 14 | BIN_PATH = $(BUILD_PATH) 15 | OBJ_PATH = $(BUILD_PATH) 16 | 17 | SRC_PATH = ./src 18 | 19 | SRCS = $(wildcard $(SRC_PATH)/*.cpp) 20 | OBJS = $(SRCS:$(SRC_PATH)/%.cpp=$(OBJ_PATH)/%.o) 21 | 22 | INCS += -I./include 23 | INCS += -I./lib/include 24 | INCS += -I./usr/include 25 | 26 | # Link Options 27 | # pthread 28 | LIBS += -lpthread 29 | # udev 30 | LIBS += -ludev 31 | # video4linux2 32 | LIBS += -lv4l2 33 | 34 | # OpenCV default 35 | # If you use opencv 4.x.x 36 | OPENCV4_CFLAGS = $(shell pkg-config --cflags opencv4) 37 | OPENCV4_LIBS = $(shell pkg-config --libs opencv4) 38 | # else 39 | #OPENCV_CFLAGS = $(shell pkg-config --cflags opencv) 40 | #OPENCV_LIBS = $(shell pkg-config --libs opencv) 41 | 42 | # set LDFLAGS 43 | LDFLAGS = $(LIBS) $(OPENCV4_LIBS) 44 | 45 | # set CFLAGS 46 | CXXFLAGS = $(INCS) $(OPENCV4_CFLAGS) -c -std=c++11 -O3 -W -Wfatal-errors # -Wall 47 | #CXXFLAGS = $(INCS) $(OPENCV_CFLAGS) -c -std=c++11 -g -fPIC -W -Wfatal-errors #-Wall 48 | 49 | # rm options 50 | RM = @rm -rfv 51 | 52 | # mkdir options 53 | MKDIR = @mkdir -p 54 | 55 | $(BIN_PATH)/$(TARGET): $(OBJS) 56 | $(MKDIR) $(BIN_PATH) 57 | $(CC) -o $(TARGET) $(OBJS) $(LDFLAGS) 58 | 59 | $(OBJ_PATH)/%.o: $(SRC_PATH)/%.cpp 60 | $(MKDIR) $(OBJ_PATH) 61 | $(CC) $(CXXFLAGS) $< -o $@ 62 | 63 | 64 | all : $(BIN_PATH)/$(TARGET) 65 | 66 | # dependency 67 | dep : 68 | $(MKDIR) $(BUILD_PATH) 69 | $(CC) -M $(INCS) $(SRCS) > $(BUILD_PATH)/.depend 70 | 71 | # clean 72 | clean: 73 | $(RM) $(BUILD_PATH) 74 | $(RM) $(TARGET) 75 | @echo "Done." 76 | 77 | # include dependency 78 | ifeq (.depend,$(wildcard .depend)) 79 | include .depend 80 | endif 81 | 82 | -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/build/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/oCamS_Linux_ParameterControl_Example/build/main.o -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/build/withrobot_camera.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/oCamS_Linux_ParameterControl_Example/build/withrobot_camera.o -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/build/withrobot_utility.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/oCamS_Linux_ParameterControl_Example/build/withrobot_utility.o -------------------------------------------------------------------------------- /Example/oCamS_Linux_ParameterControl_Example/oCamS_Linux_ParameterControl_Example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/oCamS_Linux_ParameterControl_Example/oCamS_Linux_ParameterControl_Example -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/COPYING.BSD: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2011, Intel Corporation. All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without modification, 5 | are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | * Neither the name of Intel Corporation nor the names of its contributors may 13 | be used to endorse or promote products derived from this software without 14 | specific prior written permission. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 20 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 22 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 23 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/COPYING.MINPACK: -------------------------------------------------------------------------------- 1 | Minpack Copyright Notice (1999) University of Chicago. All rights reserved 2 | 3 | Redistribution and use in source and binary forms, with or 4 | without modification, are permitted provided that the 5 | following conditions are met: 6 | 7 | 1. Redistributions of source code must retain the above 8 | copyright notice, this list of conditions and the following 9 | disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above 12 | copyright notice, this list of conditions and the following 13 | disclaimer in the documentation and/or other materials 14 | provided with the distribution. 15 | 16 | 3. The end-user documentation included with the 17 | redistribution, if any, must include the following 18 | acknowledgment: 19 | 20 | "This product includes software developed by the 21 | University of Chicago, as Operator of Argonne National 22 | Laboratory. 23 | 24 | Alternately, this acknowledgment may appear in the software 25 | itself, if and wherever such third-party acknowledgments 26 | normally appear. 27 | 28 | 4. WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS" 29 | WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE 30 | UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND 31 | THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR 32 | IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES 33 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE 34 | OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY 35 | OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR 36 | USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF 37 | THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4) 38 | DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION 39 | UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL 40 | BE CORRECTED. 41 | 42 | 5. LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT 43 | HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF 44 | ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT, 45 | INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF 46 | ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF 47 | PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER 48 | SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT 49 | (INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE, 50 | EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE 51 | POSSIBILITY OF SUCH LOSS OR DAMAGES. 52 | 53 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/COPYING.README: -------------------------------------------------------------------------------- 1 | Eigen is primarily MPL2 licensed. See COPYING.MPL2 and these links: 2 | http://www.mozilla.org/MPL/2.0/ 3 | http://www.mozilla.org/MPL/2.0/FAQ.html 4 | 5 | Some files contain third-party code under BSD or LGPL licenses, whence the other 6 | COPYING.* files here. 7 | 8 | All the LGPL code is either LGPL 2.1-only, or LGPL 2.1-or-later. 9 | For this reason, the COPYING.LGPL file contains the LGPL 2.1 text. 10 | 11 | If you want to guarantee that the Eigen code that you are #including is licensed 12 | under the MPL2 and possibly more permissive licenses (like BSD), #define this 13 | preprocessor symbol: 14 | EIGEN_MPL2_ONLY 15 | For example, with most compilers, you could add this to your project CXXFLAGS: 16 | -DEIGEN_MPL2_ONLY 17 | This will cause a compilation error to be generated if you #include any code that is 18 | LGPL licensed. 19 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Array: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ARRAY_MODULE_H 2 | #define EIGEN_ARRAY_MODULE_H 3 | 4 | // include Core first to handle Eigen2 support macros 5 | #include "Core" 6 | 7 | #ifndef EIGEN2_SUPPORT 8 | #error The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core. 9 | #endif 10 | 11 | #endif // EIGEN_ARRAY_MODULE_H 12 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Cholesky: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_CHOLESKY_MODULE_H 2 | #define EIGEN_CHOLESKY_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Cholesky_Module Cholesky module 9 | * 10 | * 11 | * 12 | * This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices. 13 | * Those decompositions are accessible via the following MatrixBase methods: 14 | * - MatrixBase::llt(), 15 | * - MatrixBase::ldlt() 16 | * 17 | * \code 18 | * #include 19 | * \endcode 20 | */ 21 | 22 | #include "src/misc/Solve.h" 23 | #include "src/Cholesky/LLT.h" 24 | #include "src/Cholesky/LDLT.h" 25 | #ifdef EIGEN_USE_LAPACKE 26 | #include "src/Cholesky/LLT_MKL.h" 27 | #endif 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif // EIGEN_CHOLESKY_MODULE_H 32 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 33 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/CholmodSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_CHOLMODSUPPORT_MODULE_H 2 | #define EIGEN_CHOLMODSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | /** \ingroup Support_modules 13 | * \defgroup CholmodSupport_Module CholmodSupport module 14 | * 15 | * This module provides an interface to the Cholmod library which is part of the suitesparse package. 16 | * It provides the two following main factorization classes: 17 | * - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization. 18 | * - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial). 19 | * 20 | * For the sake of completeness, this module also propose the two following classes: 21 | * - class CholmodSimplicialLLT 22 | * - class CholmodSimplicialLDLT 23 | * Note that these classes does not bring any particular advantage compared to the built-in 24 | * SimplicialLLT and SimplicialLDLT factorization classes. 25 | * 26 | * \code 27 | * #include 28 | * \endcode 29 | * 30 | * In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies. 31 | * The dependencies depend on how cholmod has been compiled. 32 | * For a cmake based project, you can use our FindCholmod.cmake module to help you in this task. 33 | * 34 | */ 35 | 36 | #include "src/misc/Solve.h" 37 | #include "src/misc/SparseSolve.h" 38 | 39 | #include "src/CholmodSupport/CholmodSupport.h" 40 | 41 | 42 | #include "src/Core/util/ReenableStupidWarnings.h" 43 | 44 | #endif // EIGEN_CHOLMODSUPPORT_MODULE_H 45 | 46 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Dense: -------------------------------------------------------------------------------- 1 | #include "Core" 2 | #include "LU" 3 | #include "Cholesky" 4 | #include "QR" 5 | #include "SVD" 6 | #include "Geometry" 7 | #include "Eigenvalues" 8 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Eigen: -------------------------------------------------------------------------------- 1 | #include "Dense" 2 | //#include "Sparse" 3 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Eigenvalues: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_EIGENVALUES_MODULE_H 2 | #define EIGEN_EIGENVALUES_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "Cholesky" 9 | #include "Jacobi" 10 | #include "Householder" 11 | #include "LU" 12 | #include "Geometry" 13 | 14 | /** \defgroup Eigenvalues_Module Eigenvalues module 15 | * 16 | * 17 | * 18 | * This module mainly provides various eigenvalue solvers. 19 | * This module also provides some MatrixBase methods, including: 20 | * - MatrixBase::eigenvalues(), 21 | * - MatrixBase::operatorNorm() 22 | * 23 | * \code 24 | * #include 25 | * \endcode 26 | */ 27 | 28 | #include "src/Eigenvalues/Tridiagonalization.h" 29 | #include "src/Eigenvalues/RealSchur.h" 30 | #include "src/Eigenvalues/EigenSolver.h" 31 | #include "src/Eigenvalues/SelfAdjointEigenSolver.h" 32 | #include "src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h" 33 | #include "src/Eigenvalues/HessenbergDecomposition.h" 34 | #include "src/Eigenvalues/ComplexSchur.h" 35 | #include "src/Eigenvalues/ComplexEigenSolver.h" 36 | #include "src/Eigenvalues/RealQZ.h" 37 | #include "src/Eigenvalues/GeneralizedEigenSolver.h" 38 | #include "src/Eigenvalues/MatrixBaseEigenvalues.h" 39 | #ifdef EIGEN_USE_LAPACKE 40 | #include "src/Eigenvalues/RealSchur_MKL.h" 41 | #include "src/Eigenvalues/ComplexSchur_MKL.h" 42 | #include "src/Eigenvalues/SelfAdjointEigenSolver_MKL.h" 43 | #endif 44 | 45 | #include "src/Core/util/ReenableStupidWarnings.h" 46 | 47 | #endif // EIGEN_EIGENVALUES_MODULE_H 48 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 49 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Geometry: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_GEOMETRY_MODULE_H 2 | #define EIGEN_GEOMETRY_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "SVD" 9 | #include "LU" 10 | #include 11 | 12 | #ifndef M_PI 13 | #define M_PI 3.14159265358979323846 14 | #endif 15 | 16 | /** \defgroup Geometry_Module Geometry module 17 | * 18 | * 19 | * 20 | * This module provides support for: 21 | * - fixed-size homogeneous transformations 22 | * - translation, scaling, 2D and 3D rotations 23 | * - quaternions 24 | * - \ref MatrixBase::cross() "cross product" 25 | * - \ref MatrixBase::unitOrthogonal() "orthognal vector generation" 26 | * - some linear components: parametrized-lines and hyperplanes 27 | * 28 | * \code 29 | * #include 30 | * \endcode 31 | */ 32 | 33 | #include "src/Geometry/OrthoMethods.h" 34 | #include "src/Geometry/EulerAngles.h" 35 | 36 | #if EIGEN2_SUPPORT_STAGE > STAGE20_RESOLVE_API_CONFLICTS 37 | #include "src/Geometry/Homogeneous.h" 38 | #include "src/Geometry/RotationBase.h" 39 | #include "src/Geometry/Rotation2D.h" 40 | #include "src/Geometry/Quaternion.h" 41 | #include "src/Geometry/AngleAxis.h" 42 | #include "src/Geometry/Transform.h" 43 | #include "src/Geometry/Translation.h" 44 | #include "src/Geometry/Scaling.h" 45 | #include "src/Geometry/Hyperplane.h" 46 | #include "src/Geometry/ParametrizedLine.h" 47 | #include "src/Geometry/AlignedBox.h" 48 | #include "src/Geometry/Umeyama.h" 49 | 50 | #if defined EIGEN_VECTORIZE_SSE 51 | #include "src/Geometry/arch/Geometry_SSE.h" 52 | #endif 53 | #endif 54 | 55 | #ifdef EIGEN2_SUPPORT 56 | #include "src/Eigen2Support/Geometry/All.h" 57 | #endif 58 | 59 | #include "src/Core/util/ReenableStupidWarnings.h" 60 | 61 | #endif // EIGEN_GEOMETRY_MODULE_H 62 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 63 | 64 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Householder: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_HOUSEHOLDER_MODULE_H 2 | #define EIGEN_HOUSEHOLDER_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Householder_Module Householder module 9 | * This module provides Householder transformations. 10 | * 11 | * \code 12 | * #include 13 | * \endcode 14 | */ 15 | 16 | #include "src/Householder/Householder.h" 17 | #include "src/Householder/HouseholderSequence.h" 18 | #include "src/Householder/BlockHouseholder.h" 19 | 20 | #include "src/Core/util/ReenableStupidWarnings.h" 21 | 22 | #endif // EIGEN_HOUSEHOLDER_MODULE_H 23 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 24 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/IterativeLinearSolvers: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ITERATIVELINEARSOLVERS_MODULE_H 2 | #define EIGEN_ITERATIVELINEARSOLVERS_MODULE_H 3 | 4 | #include "SparseCore" 5 | #include "OrderingMethods" 6 | 7 | #include "src/Core/util/DisableStupidWarnings.h" 8 | 9 | /** 10 | * \defgroup IterativeLinearSolvers_Module IterativeLinearSolvers module 11 | * 12 | * This module currently provides iterative methods to solve problems of the form \c A \c x = \c b, where \c A is a squared matrix, usually very large and sparse. 13 | * Those solvers are accessible via the following classes: 14 | * - ConjugateGradient for selfadjoint (hermitian) matrices, 15 | * - BiCGSTAB for general square matrices. 16 | * 17 | * These iterative solvers are associated with some preconditioners: 18 | * - IdentityPreconditioner - not really useful 19 | * - DiagonalPreconditioner - also called JAcobi preconditioner, work very well on diagonal dominant matrices. 20 | * - IncompleteILUT - incomplete LU factorization with dual thresholding 21 | * 22 | * Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport. 23 | * 24 | * \code 25 | * #include 26 | * \endcode 27 | */ 28 | 29 | #include "src/misc/Solve.h" 30 | #include "src/misc/SparseSolve.h" 31 | 32 | #include "src/IterativeLinearSolvers/IterativeSolverBase.h" 33 | #include "src/IterativeLinearSolvers/BasicPreconditioners.h" 34 | #include "src/IterativeLinearSolvers/ConjugateGradient.h" 35 | #include "src/IterativeLinearSolvers/BiCGSTAB.h" 36 | #include "src/IterativeLinearSolvers/IncompleteLUT.h" 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #endif // EIGEN_ITERATIVELINEARSOLVERS_MODULE_H 41 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Jacobi: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_JACOBI_MODULE_H 2 | #define EIGEN_JACOBI_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup Jacobi_Module Jacobi module 9 | * This module provides Jacobi and Givens rotations. 10 | * 11 | * \code 12 | * #include 13 | * \endcode 14 | * 15 | * In addition to listed classes, it defines the two following MatrixBase methods to apply a Jacobi or Givens rotation: 16 | * - MatrixBase::applyOnTheLeft() 17 | * - MatrixBase::applyOnTheRight(). 18 | */ 19 | 20 | #include "src/Jacobi/Jacobi.h" 21 | 22 | #include "src/Core/util/ReenableStupidWarnings.h" 23 | 24 | #endif // EIGEN_JACOBI_MODULE_H 25 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 26 | 27 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/LU: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_LU_MODULE_H 2 | #define EIGEN_LU_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup LU_Module LU module 9 | * This module includes %LU decomposition and related notions such as matrix inversion and determinant. 10 | * This module defines the following MatrixBase methods: 11 | * - MatrixBase::inverse() 12 | * - MatrixBase::determinant() 13 | * 14 | * \code 15 | * #include 16 | * \endcode 17 | */ 18 | 19 | #include "src/misc/Solve.h" 20 | #include "src/misc/Kernel.h" 21 | #include "src/misc/Image.h" 22 | #include "src/LU/FullPivLU.h" 23 | #include "src/LU/PartialPivLU.h" 24 | #ifdef EIGEN_USE_LAPACKE 25 | #include "src/LU/PartialPivLU_MKL.h" 26 | #endif 27 | #include "src/LU/Determinant.h" 28 | #include "src/LU/Inverse.h" 29 | 30 | #if defined EIGEN_VECTORIZE_SSE 31 | #include "src/LU/arch/Inverse_SSE.h" 32 | #endif 33 | 34 | #ifdef EIGEN2_SUPPORT 35 | #include "src/Eigen2Support/LU.h" 36 | #endif 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #endif // EIGEN_LU_MODULE_H 41 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 42 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/LeastSquares: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_REGRESSION_MODULE_H 2 | #define EIGEN_REGRESSION_MODULE_H 3 | 4 | #ifndef EIGEN2_SUPPORT 5 | #error LeastSquares is only available in Eigen2 support mode (define EIGEN2_SUPPORT) 6 | #endif 7 | 8 | // exclude from normal eigen3-only documentation 9 | #ifdef EIGEN2_SUPPORT 10 | 11 | #include "Core" 12 | 13 | #include "src/Core/util/DisableStupidWarnings.h" 14 | 15 | #include "Eigenvalues" 16 | #include "Geometry" 17 | 18 | /** \defgroup LeastSquares_Module LeastSquares module 19 | * This module provides linear regression and related features. 20 | * 21 | * \code 22 | * #include 23 | * \endcode 24 | */ 25 | 26 | #include "src/Eigen2Support/LeastSquares.h" 27 | 28 | #include "src/Core/util/ReenableStupidWarnings.h" 29 | 30 | #endif // EIGEN2_SUPPORT 31 | 32 | #endif // EIGEN_REGRESSION_MODULE_H 33 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/MetisSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_METISSUPPORT_MODULE_H 2 | #define EIGEN_METISSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | 13 | /** \ingroup Support_modules 14 | * \defgroup MetisSupport_Module MetisSupport module 15 | * 16 | * \code 17 | * #include 18 | * \endcode 19 | * This module defines an interface to the METIS reordering package (http://glaros.dtc.umn.edu/gkhome/views/metis). 20 | * It can be used just as any other built-in method as explained in \link OrderingMethods_Module here. \endlink 21 | */ 22 | 23 | 24 | #include "src/MetisSupport/MetisSupport.h" 25 | 26 | #include "src/Core/util/ReenableStupidWarnings.h" 27 | 28 | #endif // EIGEN_METISSUPPORT_MODULE_H 29 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/OrderingMethods: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_ORDERINGMETHODS_MODULE_H 2 | #define EIGEN_ORDERINGMETHODS_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** 9 | * \defgroup OrderingMethods_Module OrderingMethods module 10 | * 11 | * This module is currently for internal use only 12 | * 13 | * It defines various built-in and external ordering methods for sparse matrices. 14 | * They are typically used to reduce the number of elements during 15 | * the sparse matrix decomposition (LLT, LU, QR). 16 | * Precisely, in a preprocessing step, a permutation matrix P is computed using 17 | * those ordering methods and applied to the columns of the matrix. 18 | * Using for instance the sparse Cholesky decomposition, it is expected that 19 | * the nonzeros elements in LLT(A*P) will be much smaller than that in LLT(A). 20 | * 21 | * 22 | * Usage : 23 | * \code 24 | * #include 25 | * \endcode 26 | * 27 | * A simple usage is as a template parameter in the sparse decomposition classes : 28 | * 29 | * \code 30 | * SparseLU > solver; 31 | * \endcode 32 | * 33 | * \code 34 | * SparseQR > solver; 35 | * \endcode 36 | * 37 | * It is possible as well to call directly a particular ordering method for your own purpose, 38 | * \code 39 | * AMDOrdering ordering; 40 | * PermutationMatrix perm; 41 | * SparseMatrix A; 42 | * //Fill the matrix ... 43 | * 44 | * ordering(A, perm); // Call AMD 45 | * \endcode 46 | * 47 | * \note Some of these methods (like AMD or METIS), need the sparsity pattern 48 | * of the input matrix to be symmetric. When the matrix is structurally unsymmetric, 49 | * Eigen computes internally the pattern of \f$A^T*A\f$ before calling the method. 50 | * If your matrix is already symmetric (at leat in structure), you can avoid that 51 | * by calling the method with a SelfAdjointView type. 52 | * 53 | * \code 54 | * // Call the ordering on the pattern of the lower triangular matrix A 55 | * ordering(A.selfadjointView(), perm); 56 | * \endcode 57 | */ 58 | 59 | #ifndef EIGEN_MPL2_ONLY 60 | #include "src/OrderingMethods/Amd.h" 61 | #endif 62 | 63 | #include "src/OrderingMethods/Ordering.h" 64 | #include "src/Core/util/ReenableStupidWarnings.h" 65 | 66 | #endif // EIGEN_ORDERINGMETHODS_MODULE_H 67 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/PaStiXSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_PASTIXSUPPORT_MODULE_H 2 | #define EIGEN_PASTIXSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include 9 | extern "C" { 10 | #include 11 | #include 12 | } 13 | 14 | #ifdef complex 15 | #undef complex 16 | #endif 17 | 18 | /** \ingroup Support_modules 19 | * \defgroup PaStiXSupport_Module PaStiXSupport module 20 | * 21 | * This module provides an interface to the PaSTiX library. 22 | * PaSTiX is a general \b supernodal, \b parallel and \b opensource sparse solver. 23 | * It provides the two following main factorization classes: 24 | * - class PastixLLT : a supernodal, parallel LLt Cholesky factorization. 25 | * - class PastixLDLT: a supernodal, parallel LDLt Cholesky factorization. 26 | * - class PastixLU : a supernodal, parallel LU factorization (optimized for a symmetric pattern). 27 | * 28 | * \code 29 | * #include 30 | * \endcode 31 | * 32 | * In order to use this module, the PaSTiX headers must be accessible from the include paths, and your binary must be linked to the PaSTiX library and its dependencies. 33 | * The dependencies depend on how PaSTiX has been compiled. 34 | * For a cmake based project, you can use our FindPaSTiX.cmake module to help you in this task. 35 | * 36 | */ 37 | 38 | #include "src/misc/Solve.h" 39 | #include "src/misc/SparseSolve.h" 40 | 41 | #include "src/PaStiXSupport/PaStiXSupport.h" 42 | 43 | 44 | #include "src/Core/util/ReenableStupidWarnings.h" 45 | 46 | #endif // EIGEN_PASTIXSUPPORT_MODULE_H 47 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/PardisoSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_PARDISOSUPPORT_MODULE_H 2 | #define EIGEN_PARDISOSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include 9 | 10 | #include 11 | 12 | /** \ingroup Support_modules 13 | * \defgroup PardisoSupport_Module PardisoSupport module 14 | * 15 | * This module brings support for the Intel(R) MKL PARDISO direct sparse solvers. 16 | * 17 | * \code 18 | * #include 19 | * \endcode 20 | * 21 | * In order to use this module, the MKL headers must be accessible from the include paths, and your binary must be linked to the MKL library and its dependencies. 22 | * See this \ref TopicUsingIntelMKL "page" for more information on MKL-Eigen integration. 23 | * 24 | */ 25 | 26 | #include "src/PardisoSupport/PardisoSupport.h" 27 | 28 | #include "src/Core/util/ReenableStupidWarnings.h" 29 | 30 | #endif // EIGEN_PARDISOSUPPORT_MODULE_H 31 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/QR: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_QR_MODULE_H 2 | #define EIGEN_QR_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "Cholesky" 9 | #include "Jacobi" 10 | #include "Householder" 11 | 12 | /** \defgroup QR_Module QR module 13 | * 14 | * 15 | * 16 | * This module provides various QR decompositions 17 | * This module also provides some MatrixBase methods, including: 18 | * - MatrixBase::qr(), 19 | * 20 | * \code 21 | * #include 22 | * \endcode 23 | */ 24 | 25 | #include "src/misc/Solve.h" 26 | #include "src/QR/HouseholderQR.h" 27 | #include "src/QR/FullPivHouseholderQR.h" 28 | #include "src/QR/ColPivHouseholderQR.h" 29 | #ifdef EIGEN_USE_LAPACKE 30 | #include "src/QR/HouseholderQR_MKL.h" 31 | #include "src/QR/ColPivHouseholderQR_MKL.h" 32 | #endif 33 | 34 | #ifdef EIGEN2_SUPPORT 35 | #include "src/Eigen2Support/QR.h" 36 | #endif 37 | 38 | #include "src/Core/util/ReenableStupidWarnings.h" 39 | 40 | #ifdef EIGEN2_SUPPORT 41 | #include "Eigenvalues" 42 | #endif 43 | 44 | #endif // EIGEN_QR_MODULE_H 45 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 46 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/QtAlignedMalloc: -------------------------------------------------------------------------------- 1 | 2 | #ifndef EIGEN_QTMALLOC_MODULE_H 3 | #define EIGEN_QTMALLOC_MODULE_H 4 | 5 | #include "Core" 6 | 7 | #if (!EIGEN_MALLOC_ALREADY_ALIGNED) 8 | 9 | #include "src/Core/util/DisableStupidWarnings.h" 10 | 11 | void *qMalloc(size_t size) 12 | { 13 | return Eigen::internal::aligned_malloc(size); 14 | } 15 | 16 | void qFree(void *ptr) 17 | { 18 | Eigen::internal::aligned_free(ptr); 19 | } 20 | 21 | void *qRealloc(void *ptr, size_t size) 22 | { 23 | void* newPtr = Eigen::internal::aligned_malloc(size); 24 | memcpy(newPtr, ptr, size); 25 | Eigen::internal::aligned_free(ptr); 26 | return newPtr; 27 | } 28 | 29 | #include "src/Core/util/ReenableStupidWarnings.h" 30 | 31 | #endif 32 | 33 | #endif // EIGEN_QTMALLOC_MODULE_H 34 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 35 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SPQRSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPQRSUPPORT_MODULE_H 2 | #define EIGEN_SPQRSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include "SuiteSparseQR.hpp" 9 | 10 | /** \ingroup Support_modules 11 | * \defgroup SPQRSupport_Module SuiteSparseQR module 12 | * 13 | * This module provides an interface to the SPQR library, which is part of the suitesparse package. 14 | * 15 | * \code 16 | * #include 17 | * \endcode 18 | * 19 | * In order to use this module, the SPQR headers must be accessible from the include paths, and your binary must be linked to the SPQR library and its dependencies (Cholmod, AMD, COLAMD,...). 20 | * For a cmake based project, you can use our FindSPQR.cmake and FindCholmod.Cmake modules 21 | * 22 | */ 23 | 24 | #include "src/misc/Solve.h" 25 | #include "src/misc/SparseSolve.h" 26 | #include "src/CholmodSupport/CholmodSupport.h" 27 | #include "src/SPQRSupport/SuiteSparseQRSupport.h" 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SVD: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SVD_MODULE_H 2 | #define EIGEN_SVD_MODULE_H 3 | 4 | #include "QR" 5 | #include "Householder" 6 | #include "Jacobi" 7 | 8 | #include "src/Core/util/DisableStupidWarnings.h" 9 | 10 | /** \defgroup SVD_Module SVD module 11 | * 12 | * 13 | * 14 | * This module provides SVD decomposition for matrices (both real and complex). 15 | * This decomposition is accessible via the following MatrixBase method: 16 | * - MatrixBase::jacobiSvd() 17 | * 18 | * \code 19 | * #include 20 | * \endcode 21 | */ 22 | 23 | #include "src/misc/Solve.h" 24 | #include "src/SVD/JacobiSVD.h" 25 | #if defined(EIGEN_USE_LAPACKE) && !defined(EIGEN_USE_LAPACKE_STRICT) 26 | #include "src/SVD/JacobiSVD_MKL.h" 27 | #endif 28 | #include "src/SVD/UpperBidiagonalization.h" 29 | 30 | #ifdef EIGEN2_SUPPORT 31 | #include "src/Eigen2Support/SVD.h" 32 | #endif 33 | 34 | #include "src/Core/util/ReenableStupidWarnings.h" 35 | 36 | #endif // EIGEN_SVD_MODULE_H 37 | /* vim: set filetype=cpp et sw=2 ts=2 ai: */ 38 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/Sparse: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPARSE_MODULE_H 2 | #define EIGEN_SPARSE_MODULE_H 3 | 4 | /** \defgroup Sparse_Module Sparse meta-module 5 | * 6 | * Meta-module including all related modules: 7 | * - \ref SparseCore_Module 8 | * - \ref OrderingMethods_Module 9 | * - \ref SparseCholesky_Module 10 | * - \ref SparseLU_Module 11 | * - \ref SparseQR_Module 12 | * - \ref IterativeLinearSolvers_Module 13 | * 14 | * \code 15 | * #include 16 | * \endcode 17 | */ 18 | 19 | #include "SparseCore" 20 | #include "OrderingMethods" 21 | #include "SparseCholesky" 22 | #include "SparseLU" 23 | #include "SparseQR" 24 | #include "IterativeLinearSolvers" 25 | 26 | #endif // EIGEN_SPARSE_MODULE_H 27 | 28 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SparseCholesky: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2013 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSECHOLESKY_MODULE_H 11 | #define EIGEN_SPARSECHOLESKY_MODULE_H 12 | 13 | #include "SparseCore" 14 | #include "OrderingMethods" 15 | 16 | #include "src/Core/util/DisableStupidWarnings.h" 17 | 18 | /** 19 | * \defgroup SparseCholesky_Module SparseCholesky module 20 | * 21 | * This module currently provides two variants of the direct sparse Cholesky decomposition for selfadjoint (hermitian) matrices. 22 | * Those decompositions are accessible via the following classes: 23 | * - SimplicialLLt, 24 | * - SimplicialLDLt 25 | * 26 | * Such problems can also be solved using the ConjugateGradient solver from the IterativeLinearSolvers module. 27 | * 28 | * \code 29 | * #include 30 | * \endcode 31 | */ 32 | 33 | #ifdef EIGEN_MPL2_ONLY 34 | #error The SparseCholesky module has nothing to offer in MPL2 only mode 35 | #endif 36 | 37 | #include "src/misc/Solve.h" 38 | #include "src/misc/SparseSolve.h" 39 | #include "src/SparseCholesky/SimplicialCholesky.h" 40 | 41 | #ifndef EIGEN_MPL2_ONLY 42 | #include "src/SparseCholesky/SimplicialCholesky_impl.h" 43 | #endif 44 | 45 | #include "src/Core/util/ReenableStupidWarnings.h" 46 | 47 | #endif // EIGEN_SPARSECHOLESKY_MODULE_H 48 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SparseCore: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPARSECORE_MODULE_H 2 | #define EIGEN_SPARSECORE_MODULE_H 3 | 4 | #include "Core" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | /** 15 | * \defgroup SparseCore_Module SparseCore module 16 | * 17 | * This module provides a sparse matrix representation, and basic associatd matrix manipulations 18 | * and operations. 19 | * 20 | * See the \ref TutorialSparse "Sparse tutorial" 21 | * 22 | * \code 23 | * #include 24 | * \endcode 25 | * 26 | * This module depends on: Core. 27 | */ 28 | 29 | namespace Eigen { 30 | 31 | /** The type used to identify a general sparse storage. */ 32 | struct Sparse {}; 33 | 34 | } 35 | 36 | #include "src/SparseCore/SparseUtil.h" 37 | #include "src/SparseCore/SparseMatrixBase.h" 38 | #include "src/SparseCore/CompressedStorage.h" 39 | #include "src/SparseCore/AmbiVector.h" 40 | #include "src/SparseCore/SparseMatrix.h" 41 | #include "src/SparseCore/MappedSparseMatrix.h" 42 | #include "src/SparseCore/SparseVector.h" 43 | #include "src/SparseCore/SparseBlock.h" 44 | #include "src/SparseCore/SparseTranspose.h" 45 | #include "src/SparseCore/SparseCwiseUnaryOp.h" 46 | #include "src/SparseCore/SparseCwiseBinaryOp.h" 47 | #include "src/SparseCore/SparseDot.h" 48 | #include "src/SparseCore/SparsePermutation.h" 49 | #include "src/SparseCore/SparseRedux.h" 50 | #include "src/SparseCore/SparseFuzzy.h" 51 | #include "src/SparseCore/ConservativeSparseSparseProduct.h" 52 | #include "src/SparseCore/SparseSparseProductWithPruning.h" 53 | #include "src/SparseCore/SparseProduct.h" 54 | #include "src/SparseCore/SparseDenseProduct.h" 55 | #include "src/SparseCore/SparseDiagonalProduct.h" 56 | #include "src/SparseCore/SparseTriangularView.h" 57 | #include "src/SparseCore/SparseSelfAdjointView.h" 58 | #include "src/SparseCore/TriangularSolver.h" 59 | #include "src/SparseCore/SparseView.h" 60 | 61 | #include "src/Core/util/ReenableStupidWarnings.h" 62 | 63 | #endif // EIGEN_SPARSECORE_MODULE_H 64 | 65 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SparseLU: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2012 Désiré Nuentsa-Wakam 5 | // Copyright (C) 2012 Gael Guennebaud 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_SPARSELU_MODULE_H 12 | #define EIGEN_SPARSELU_MODULE_H 13 | 14 | #include "SparseCore" 15 | 16 | /** 17 | * \defgroup SparseLU_Module SparseLU module 18 | * This module defines a supernodal factorization of general sparse matrices. 19 | * The code is fully optimized for supernode-panel updates with specialized kernels. 20 | * Please, see the documentation of the SparseLU class for more details. 21 | */ 22 | 23 | #include "src/misc/Solve.h" 24 | #include "src/misc/SparseSolve.h" 25 | 26 | // Ordering interface 27 | #include "OrderingMethods" 28 | 29 | #include "src/SparseLU/SparseLU_gemm_kernel.h" 30 | 31 | #include "src/SparseLU/SparseLU_Structs.h" 32 | #include "src/SparseLU/SparseLU_SupernodalMatrix.h" 33 | #include "src/SparseLU/SparseLUImpl.h" 34 | #include "src/SparseCore/SparseColEtree.h" 35 | #include "src/SparseLU/SparseLU_Memory.h" 36 | #include "src/SparseLU/SparseLU_heap_relax_snode.h" 37 | #include "src/SparseLU/SparseLU_relax_snode.h" 38 | #include "src/SparseLU/SparseLU_pivotL.h" 39 | #include "src/SparseLU/SparseLU_panel_dfs.h" 40 | #include "src/SparseLU/SparseLU_kernel_bmod.h" 41 | #include "src/SparseLU/SparseLU_panel_bmod.h" 42 | #include "src/SparseLU/SparseLU_column_dfs.h" 43 | #include "src/SparseLU/SparseLU_column_bmod.h" 44 | #include "src/SparseLU/SparseLU_copy_to_ucol.h" 45 | #include "src/SparseLU/SparseLU_pruneL.h" 46 | #include "src/SparseLU/SparseLU_Utils.h" 47 | #include "src/SparseLU/SparseLU.h" 48 | 49 | #endif // EIGEN_SPARSELU_MODULE_H 50 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SparseQR: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SPARSEQR_MODULE_H 2 | #define EIGEN_SPARSEQR_MODULE_H 3 | 4 | #include "SparseCore" 5 | #include "OrderingMethods" 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | /** \defgroup SparseQR_Module SparseQR module 9 | * \brief Provides QR decomposition for sparse matrices 10 | * 11 | * This module provides a simplicial version of the left-looking Sparse QR decomposition. 12 | * The columns of the input matrix should be reordered to limit the fill-in during the 13 | * decomposition. Built-in methods (COLAMD, AMD) or external methods (METIS) can be used to this end. 14 | * See the \link OrderingMethods_Module OrderingMethods\endlink module for the list 15 | * of built-in and external ordering methods. 16 | * 17 | * \code 18 | * #include 19 | * \endcode 20 | * 21 | * 22 | */ 23 | 24 | #include "src/misc/Solve.h" 25 | #include "src/misc/SparseSolve.h" 26 | 27 | #include "OrderingMethods" 28 | #include "src/SparseCore/SparseColEtree.h" 29 | #include "src/SparseQR/SparseQR.h" 30 | 31 | #include "src/Core/util/ReenableStupidWarnings.h" 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/StdDeque: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Gael Guennebaud 5 | // Copyright (C) 2009 Hauke Heibel 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_STDDEQUE_MODULE_H 12 | #define EIGEN_STDDEQUE_MODULE_H 13 | 14 | #include "Core" 15 | #include 16 | 17 | #if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ 18 | 19 | #define EIGEN_DEFINE_STL_DEQUE_SPECIALIZATION(...) 20 | 21 | #else 22 | 23 | #include "src/StlSupport/StdDeque.h" 24 | 25 | #endif 26 | 27 | #endif // EIGEN_STDDEQUE_MODULE_H 28 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/StdList: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Hauke Heibel 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_STDLIST_MODULE_H 11 | #define EIGEN_STDLIST_MODULE_H 12 | 13 | #include "Core" 14 | #include 15 | 16 | #if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ 17 | 18 | #define EIGEN_DEFINE_STL_LIST_SPECIALIZATION(...) 19 | 20 | #else 21 | 22 | #include "src/StlSupport/StdList.h" 23 | 24 | #endif 25 | 26 | #endif // EIGEN_STDLIST_MODULE_H 27 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/StdVector: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2009 Gael Guennebaud 5 | // Copyright (C) 2009 Hauke Heibel 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN_STDVECTOR_MODULE_H 12 | #define EIGEN_STDVECTOR_MODULE_H 13 | 14 | #include "Core" 15 | #include 16 | 17 | #if (defined(_MSC_VER) && defined(_WIN64)) /* MSVC auto aligns in 64 bit builds */ 18 | 19 | #define EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION(...) 20 | 21 | #else 22 | 23 | #include "src/StlSupport/StdVector.h" 24 | 25 | #endif 26 | 27 | #endif // EIGEN_STDVECTOR_MODULE_H 28 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/SuperLUSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_SUPERLUSUPPORT_MODULE_H 2 | #define EIGEN_SUPERLUSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | #ifdef EMPTY 9 | #define EIGEN_EMPTY_WAS_ALREADY_DEFINED 10 | #endif 11 | 12 | typedef int int_t; 13 | #include 14 | #include 15 | #include 16 | 17 | // slu_util.h defines a preprocessor token named EMPTY which is really polluting, 18 | // so we remove it in favor of a SUPERLU_EMPTY token. 19 | // If EMPTY was already defined then we don't undef it. 20 | 21 | #if defined(EIGEN_EMPTY_WAS_ALREADY_DEFINED) 22 | # undef EIGEN_EMPTY_WAS_ALREADY_DEFINED 23 | #elif defined(EMPTY) 24 | # undef EMPTY 25 | #endif 26 | 27 | #define SUPERLU_EMPTY (-1) 28 | 29 | namespace Eigen { struct SluMatrix; } 30 | 31 | /** \ingroup Support_modules 32 | * \defgroup SuperLUSupport_Module SuperLUSupport module 33 | * 34 | * This module provides an interface to the SuperLU library. 35 | * It provides the following factorization class: 36 | * - class SuperLU: a supernodal sequential LU factorization. 37 | * - class SuperILU: a supernodal sequential incomplete LU factorization (to be used as a preconditioner for iterative methods). 38 | * 39 | * \warning When including this module, you have to use SUPERLU_EMPTY instead of EMPTY which is no longer defined because it is too polluting. 40 | * 41 | * \code 42 | * #include 43 | * \endcode 44 | * 45 | * In order to use this module, the superlu headers must be accessible from the include paths, and your binary must be linked to the superlu library and its dependencies. 46 | * The dependencies depend on how superlu has been compiled. 47 | * For a cmake based project, you can use our FindSuperLU.cmake module to help you in this task. 48 | * 49 | */ 50 | 51 | #include "src/misc/Solve.h" 52 | #include "src/misc/SparseSolve.h" 53 | 54 | #include "src/SuperLUSupport/SuperLUSupport.h" 55 | 56 | 57 | #include "src/Core/util/ReenableStupidWarnings.h" 58 | 59 | #endif // EIGEN_SUPERLUSUPPORT_MODULE_H 60 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/UmfPackSupport: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_UMFPACKSUPPORT_MODULE_H 2 | #define EIGEN_UMFPACKSUPPORT_MODULE_H 3 | 4 | #include "SparseCore" 5 | 6 | #include "src/Core/util/DisableStupidWarnings.h" 7 | 8 | extern "C" { 9 | #include 10 | } 11 | 12 | /** \ingroup Support_modules 13 | * \defgroup UmfPackSupport_Module UmfPackSupport module 14 | * 15 | * This module provides an interface to the UmfPack library which is part of the suitesparse package. 16 | * It provides the following factorization class: 17 | * - class UmfPackLU: a multifrontal sequential LU factorization. 18 | * 19 | * \code 20 | * #include 21 | * \endcode 22 | * 23 | * In order to use this module, the umfpack headers must be accessible from the include paths, and your binary must be linked to the umfpack library and its dependencies. 24 | * The dependencies depend on how umfpack has been compiled. 25 | * For a cmake based project, you can use our FindUmfPack.cmake module to help you in this task. 26 | * 27 | */ 28 | 29 | #include "src/misc/Solve.h" 30 | #include "src/misc/SparseSolve.h" 31 | 32 | #include "src/UmfPackSupport/UmfPackSupport.h" 33 | 34 | #include "src/Core/util/ReenableStupidWarnings.h" 35 | 36 | #endif // EIGEN_UMFPACKSUPPORT_MODULE_H 37 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Core/CoreIterators.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2010 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_COREITERATORS_H 11 | #define EIGEN_COREITERATORS_H 12 | 13 | namespace Eigen { 14 | 15 | /* This file contains the respective InnerIterator definition of the expressions defined in Eigen/Core 16 | */ 17 | 18 | /** \ingroup SparseCore_Module 19 | * \class InnerIterator 20 | * \brief An InnerIterator allows to loop over the element of a sparse (or dense) matrix or expression 21 | * 22 | * todo 23 | */ 24 | 25 | // generic version for dense matrix and expressions 26 | template class DenseBase::InnerIterator 27 | { 28 | protected: 29 | typedef typename Derived::Scalar Scalar; 30 | typedef typename Derived::Index Index; 31 | 32 | enum { IsRowMajor = (Derived::Flags&RowMajorBit)==RowMajorBit }; 33 | public: 34 | EIGEN_STRONG_INLINE InnerIterator(const Derived& expr, Index outer) 35 | : m_expression(expr), m_inner(0), m_outer(outer), m_end(expr.innerSize()) 36 | {} 37 | 38 | EIGEN_STRONG_INLINE Scalar value() const 39 | { 40 | return (IsRowMajor) ? m_expression.coeff(m_outer, m_inner) 41 | : m_expression.coeff(m_inner, m_outer); 42 | } 43 | 44 | EIGEN_STRONG_INLINE InnerIterator& operator++() { m_inner++; return *this; } 45 | 46 | EIGEN_STRONG_INLINE Index index() const { return m_inner; } 47 | inline Index row() const { return IsRowMajor ? m_outer : index(); } 48 | inline Index col() const { return IsRowMajor ? index() : m_outer; } 49 | 50 | EIGEN_STRONG_INLINE operator bool() const { return m_inner < m_end && m_inner>=0; } 51 | 52 | protected: 53 | const Derived& m_expression; 54 | Index m_inner; 55 | const Index m_outer; 56 | const Index m_end; 57 | }; 58 | 59 | } // end namespace Eigen 60 | 61 | #endif // EIGEN_COREITERATORS_H 62 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Core/arch/Default/Settings.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2010 Gael Guennebaud 5 | // Copyright (C) 2006-2008 Benoit Jacob 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | 12 | /* All the parameters defined in this file can be specialized in the 13 | * architecture specific files, and/or by the user. 14 | * More to come... */ 15 | 16 | #ifndef EIGEN_DEFAULT_SETTINGS_H 17 | #define EIGEN_DEFAULT_SETTINGS_H 18 | 19 | /** Defines the maximal loop size to enable meta unrolling of loops. 20 | * Note that the value here is expressed in Eigen's own notion of "number of FLOPS", 21 | * it does not correspond to the number of iterations or the number of instructions 22 | */ 23 | #ifndef EIGEN_UNROLLING_LIMIT 24 | #define EIGEN_UNROLLING_LIMIT 100 25 | #endif 26 | 27 | /** Defines the threshold between a "small" and a "large" matrix. 28 | * This threshold is mainly used to select the proper product implementation. 29 | */ 30 | #ifndef EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 31 | #define EIGEN_CACHEFRIENDLY_PRODUCT_THRESHOLD 8 32 | #endif 33 | 34 | /** Defines the maximal width of the blocks used in the triangular product and solver 35 | * for vectors (level 2 blas xTRMV and xTRSV). The default is 8. 36 | */ 37 | #ifndef EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH 38 | #define EIGEN_TUNE_TRIANGULAR_PANEL_WIDTH 8 39 | #endif 40 | 41 | 42 | /** Defines the default number of registers available for that architecture. 43 | * Currently it must be 8 or 16. Other values will fail. 44 | */ 45 | #ifndef EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 46 | #define EIGEN_ARCH_DEFAULT_NUMBER_OF_REGISTERS 8 47 | #endif 48 | 49 | #endif // EIGEN_DEFAULT_SETTINGS_H 50 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Core/util/DisableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifndef EIGEN_WARNINGS_DISABLED 2 | #define EIGEN_WARNINGS_DISABLED 3 | 4 | #ifdef _MSC_VER 5 | // 4100 - unreferenced formal parameter (occurred e.g. in aligned_allocator::destroy(pointer p)) 6 | // 4101 - unreferenced local variable 7 | // 4127 - conditional expression is constant 8 | // 4181 - qualifier applied to reference type ignored 9 | // 4211 - nonstandard extension used : redefined extern to static 10 | // 4244 - 'argument' : conversion from 'type1' to 'type2', possible loss of data 11 | // 4273 - QtAlignedMalloc, inconsistent DLL linkage 12 | // 4324 - structure was padded due to declspec(align()) 13 | // 4512 - assignment operator could not be generated 14 | // 4522 - 'class' : multiple assignment operators specified 15 | // 4700 - uninitialized local variable 'xyz' used 16 | // 4717 - 'function' : recursive on all control paths, function will cause runtime stack overflow 17 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 18 | #pragma warning( push ) 19 | #endif 20 | #pragma warning( disable : 4100 4101 4127 4181 4211 4244 4273 4324 4512 4522 4700 4717 ) 21 | #elif defined __INTEL_COMPILER 22 | // 2196 - routine is both "inline" and "noinline" ("noinline" assumed) 23 | // ICC 12 generates this warning even without any inline keyword, when defining class methods 'inline' i.e. inside of class body 24 | // typedef that may be a reference type. 25 | // 279 - controlling expression is constant 26 | // ICC 12 generates this warning on assert(constant_expression_depending_on_template_params) and frankly this is a legitimate use case. 27 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 28 | #pragma warning push 29 | #endif 30 | #pragma warning disable 2196 279 31 | #elif defined __clang__ 32 | // -Wconstant-logical-operand - warning: use of logical && with constant operand; switch to bitwise & or remove constant 33 | // this is really a stupid warning as it warns on compile-time expressions involving enums 34 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 35 | #pragma clang diagnostic push 36 | #endif 37 | #pragma clang diagnostic ignored "-Wconstant-logical-operand" 38 | #endif 39 | 40 | #endif // not EIGEN_WARNINGS_DISABLED 41 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Core/util/NonMPL2.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_MPL2_ONLY 2 | #error Including non-MPL2 code in EIGEN_MPL2_ONLY mode 3 | #endif 4 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Core/util/ReenableStupidWarnings.h: -------------------------------------------------------------------------------- 1 | #ifdef EIGEN_WARNINGS_DISABLED 2 | #undef EIGEN_WARNINGS_DISABLED 3 | 4 | #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS 5 | #ifdef _MSC_VER 6 | #pragma warning( pop ) 7 | #elif defined __INTEL_COMPILER 8 | #pragma warning pop 9 | #elif defined __clang__ 10 | #pragma clang diagnostic pop 11 | #endif 12 | #endif 13 | 14 | #endif // EIGEN_WARNINGS_DISABLED 15 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Eigen2Support/Lazy.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008 Benoit Jacob 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_LAZY_H 11 | #define EIGEN_LAZY_H 12 | 13 | namespace Eigen { 14 | 15 | /** \deprecated it is only used by lazy() which is deprecated 16 | * 17 | * \returns an expression of *this with added flags 18 | * 19 | * Example: \include MatrixBase_marked.cpp 20 | * Output: \verbinclude MatrixBase_marked.out 21 | * 22 | * \sa class Flagged, extract(), part() 23 | */ 24 | template 25 | template 26 | inline const Flagged 27 | MatrixBase::marked() const 28 | { 29 | return derived(); 30 | } 31 | 32 | /** \deprecated use MatrixBase::noalias() 33 | * 34 | * \returns an expression of *this with the EvalBeforeAssigningBit flag removed. 35 | * 36 | * Example: \include MatrixBase_lazy.cpp 37 | * Output: \verbinclude MatrixBase_lazy.out 38 | * 39 | * \sa class Flagged, marked() 40 | */ 41 | template 42 | inline const Flagged 43 | MatrixBase::lazy() const 44 | { 45 | return derived(); 46 | } 47 | 48 | 49 | /** \internal 50 | * Overloaded to perform an efficient C += (A*B).lazy() */ 51 | template 52 | template 53 | Derived& MatrixBase::operator+=(const Flagged, 0, 54 | EvalBeforeAssigningBit>& other) 55 | { 56 | other._expression().derived().addTo(derived()); return derived(); 57 | } 58 | 59 | /** \internal 60 | * Overloaded to perform an efficient C -= (A*B).lazy() */ 61 | template 62 | template 63 | Derived& MatrixBase::operator-=(const Flagged, 0, 64 | EvalBeforeAssigningBit>& other) 65 | { 66 | other._expression().derived().subTo(derived()); return derived(); 67 | } 68 | 69 | } // end namespace Eigen 70 | 71 | #endif // EIGEN_LAZY_H 72 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Eigen2Support/Macros.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2011 Benoit Jacob 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN2_MACROS_H 11 | #define EIGEN2_MACROS_H 12 | 13 | #define ei_assert eigen_assert 14 | #define ei_internal_assert eigen_internal_assert 15 | 16 | #define EIGEN_ALIGN_128 EIGEN_ALIGN16 17 | 18 | #define EIGEN_ARCH_WANTS_ALIGNMENT EIGEN_ALIGN_STATICALLY 19 | 20 | #endif // EIGEN2_MACROS_H 21 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Eigen2Support/Memory.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2011 Benoit Jacob 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN2_MEMORY_H 11 | #define EIGEN2_MEMORY_H 12 | 13 | namespace Eigen { 14 | 15 | inline void* ei_aligned_malloc(size_t size) { return internal::aligned_malloc(size); } 16 | inline void ei_aligned_free(void *ptr) { internal::aligned_free(ptr); } 17 | inline void* ei_aligned_realloc(void *ptr, size_t new_size, size_t old_size) { return internal::aligned_realloc(ptr, new_size, old_size); } 18 | inline void* ei_handmade_aligned_malloc(size_t size) { return internal::handmade_aligned_malloc(size); } 19 | inline void ei_handmade_aligned_free(void *ptr) { internal::handmade_aligned_free(ptr); } 20 | 21 | template inline void* ei_conditional_aligned_malloc(size_t size) 22 | { 23 | return internal::conditional_aligned_malloc(size); 24 | } 25 | template inline void ei_conditional_aligned_free(void *ptr) 26 | { 27 | internal::conditional_aligned_free(ptr); 28 | } 29 | template inline void* ei_conditional_aligned_realloc(void* ptr, size_t new_size, size_t old_size) 30 | { 31 | return internal::conditional_aligned_realloc(ptr, new_size, old_size); 32 | } 33 | 34 | template inline T* ei_aligned_new(size_t size) 35 | { 36 | return internal::aligned_new(size); 37 | } 38 | template inline void ei_aligned_delete(T *ptr, size_t size) 39 | { 40 | return internal::aligned_delete(ptr, size); 41 | } 42 | 43 | } // end namespace Eigen 44 | 45 | #endif // EIGEN2_MACROS_H 46 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Eigen2Support/QR.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008 Gael Guennebaud 5 | // Copyright (C) 2011 Benoit Jacob 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | #ifndef EIGEN2_QR_H 12 | #define EIGEN2_QR_H 13 | 14 | namespace Eigen { 15 | 16 | template 17 | class QR : public HouseholderQR 18 | { 19 | public: 20 | 21 | typedef HouseholderQR Base; 22 | typedef Block MatrixRBlockType; 23 | 24 | QR() : Base() {} 25 | 26 | template 27 | explicit QR(const T& t) : Base(t) {} 28 | 29 | template 30 | bool solve(const MatrixBase& b, ResultType *result) const 31 | { 32 | *result = static_cast(this)->solve(b); 33 | return true; 34 | } 35 | 36 | MatrixType matrixQ(void) const { 37 | MatrixType ret = MatrixType::Identity(this->rows(), this->cols()); 38 | ret = this->householderQ() * ret; 39 | return ret; 40 | } 41 | 42 | bool isFullRank() const { 43 | return true; 44 | } 45 | 46 | const TriangularView 47 | matrixR(void) const 48 | { 49 | int cols = this->cols(); 50 | return MatrixRBlockType(this->matrixQR(), 0, 0, cols, cols).template triangularView(); 51 | } 52 | }; 53 | 54 | /** \return the QR decomposition of \c *this. 55 | * 56 | * \sa class QR 57 | */ 58 | template 59 | const QR::PlainObject> 60 | MatrixBase::qr() const 61 | { 62 | return QR(eval()); 63 | } 64 | 65 | } // end namespace Eigen 66 | 67 | #endif // EIGEN2_QR_H 68 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/Eigen2Support/TriangularSolver.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2010 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_TRIANGULAR_SOLVER2_H 11 | #define EIGEN_TRIANGULAR_SOLVER2_H 12 | 13 | namespace Eigen { 14 | 15 | const unsigned int UnitDiagBit = UnitDiag; 16 | const unsigned int SelfAdjointBit = SelfAdjoint; 17 | const unsigned int UpperTriangularBit = Upper; 18 | const unsigned int LowerTriangularBit = Lower; 19 | 20 | const unsigned int UpperTriangular = Upper; 21 | const unsigned int LowerTriangular = Lower; 22 | const unsigned int UnitUpperTriangular = UnitUpper; 23 | const unsigned int UnitLowerTriangular = UnitLower; 24 | 25 | template 26 | template 27 | typename ExpressionType::PlainObject 28 | Flagged::solveTriangular(const MatrixBase& other) const 29 | { 30 | return m_matrix.template triangularView().solve(other.derived()); 31 | } 32 | 33 | template 34 | template 35 | void Flagged::solveTriangularInPlace(const MatrixBase& other) const 36 | { 37 | m_matrix.template triangularView().solveInPlace(other.derived()); 38 | } 39 | 40 | } // end namespace Eigen 41 | 42 | #endif // EIGEN_TRIANGULAR_SOLVER2_H 43 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/SparseCore/SparseFuzzy.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSE_FUZZY_H 11 | #define EIGEN_SPARSE_FUZZY_H 12 | 13 | // template 14 | // template 15 | // bool SparseMatrixBase::isApprox( 16 | // const OtherDerived& other, 17 | // typename NumTraits::Real prec 18 | // ) const 19 | // { 20 | // const typename internal::nested::type nested(derived()); 21 | // const typename internal::nested::type otherNested(other.derived()); 22 | // return (nested - otherNested).cwise().abs2().sum() 23 | // <= prec * prec * (std::min)(nested.cwise().abs2().sum(), otherNested.cwise().abs2().sum()); 24 | // } 25 | 26 | #endif // EIGEN_SPARSE_FUZZY_H 27 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/SparseCore/SparseRedux.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008 Gael Guennebaud 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | #ifndef EIGEN_SPARSEREDUX_H 11 | #define EIGEN_SPARSEREDUX_H 12 | 13 | namespace Eigen { 14 | 15 | template 16 | typename internal::traits::Scalar 17 | SparseMatrixBase::sum() const 18 | { 19 | eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix"); 20 | Scalar res(0); 21 | for (Index j=0; j 28 | typename internal::traits >::Scalar 29 | SparseMatrix<_Scalar,_Options,_Index>::sum() const 30 | { 31 | eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix"); 32 | return Matrix::Map(&m_data.value(0), m_data.size()).sum(); 33 | } 34 | 35 | template 36 | typename internal::traits >::Scalar 37 | SparseVector<_Scalar,_Options,_Index>::sum() const 38 | { 39 | eigen_assert(rows()>0 && cols()>0 && "you are using a non initialized matrix"); 40 | return Matrix::Map(&m_data.value(0), m_data.size()).sum(); 41 | } 42 | 43 | } // end namespace Eigen 44 | 45 | #endif // EIGEN_SPARSEREDUX_H 46 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/SparseLU/SparseLU_Utils.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2012 Désiré Nuentsa-Wakam 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla 7 | // Public License v. 2.0. If a copy of the MPL was not distributed 8 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | 11 | #ifndef EIGEN_SPARSELU_UTILS_H 12 | #define EIGEN_SPARSELU_UTILS_H 13 | 14 | namespace Eigen { 15 | namespace internal { 16 | 17 | /** 18 | * \brief Count Nonzero elements in the factors 19 | */ 20 | template 21 | void SparseLUImpl::countnz(const Index n, Index& nnzL, Index& nnzU, GlobalLU_t& glu) 22 | { 23 | nnzL = 0; 24 | nnzU = (glu.xusub)(n); 25 | Index nsuper = (glu.supno)(n); 26 | Index jlen; 27 | Index i, j, fsupc; 28 | if (n <= 0 ) return; 29 | // For each supernode 30 | for (i = 0; i <= nsuper; i++) 31 | { 32 | fsupc = glu.xsup(i); 33 | jlen = glu.xlsub(fsupc+1) - glu.xlsub(fsupc); 34 | 35 | for (j = fsupc; j < glu.xsup(i+1); j++) 36 | { 37 | nnzL += jlen; 38 | nnzU += j - fsupc + 1; 39 | jlen--; 40 | } 41 | } 42 | } 43 | 44 | /** 45 | * \brief Fix up the data storage lsub for L-subscripts. 46 | * 47 | * It removes the subscripts sets for structural pruning, 48 | * and applies permutation to the remaining subscripts 49 | * 50 | */ 51 | template 52 | void SparseLUImpl::fixupL(const Index n, const IndexVector& perm_r, GlobalLU_t& glu) 53 | { 54 | Index fsupc, i, j, k, jstart; 55 | 56 | Index nextl = 0; 57 | Index nsuper = (glu.supno)(n); 58 | 59 | // For each supernode 60 | for (i = 0; i <= nsuper; i++) 61 | { 62 | fsupc = glu.xsup(i); 63 | jstart = glu.xlsub(fsupc); 64 | glu.xlsub(fsupc) = nextl; 65 | for (j = jstart; j < glu.xlsub(fsupc + 1); j++) 66 | { 67 | glu.lsub(nextl) = perm_r(glu.lsub(j)); // Now indexed into P*A 68 | nextl++; 69 | } 70 | for (k = fsupc+1; k < glu.xsup(i+1); k++) 71 | glu.xlsub(k) = nextl; // other columns in supernode i 72 | } 73 | 74 | glu.xlsub(n) = nextl; 75 | } 76 | 77 | } // end namespace internal 78 | 79 | } // end namespace Eigen 80 | #endif // EIGEN_SPARSELU_UTILS_H 81 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h: -------------------------------------------------------------------------------- 1 | // This file is part of Eigen, a lightweight C++ template library 2 | // for linear algebra. 3 | // 4 | // Copyright (C) 2008-2009 Gael Guennebaud 5 | // Copyright (C) 2006-2008 Benoit Jacob 6 | // 7 | // This Source Code Form is subject to the terms of the Mozilla 8 | // Public License v. 2.0. If a copy of the MPL was not distributed 9 | // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. 10 | 11 | // This file is a base class plugin containing common coefficient wise functions. 12 | 13 | /** \returns an expression of the difference of \c *this and \a other 14 | * 15 | * \note If you want to substract a given scalar from all coefficients, see Cwise::operator-(). 16 | * 17 | * \sa class CwiseBinaryOp, operator-=() 18 | */ 19 | EIGEN_MAKE_CWISE_BINARY_OP(operator-,internal::scalar_difference_op) 20 | 21 | /** \returns an expression of the sum of \c *this and \a other 22 | * 23 | * \note If you want to add a given scalar to all coefficients, see Cwise::operator+(). 24 | * 25 | * \sa class CwiseBinaryOp, operator+=() 26 | */ 27 | EIGEN_MAKE_CWISE_BINARY_OP(operator+,internal::scalar_sum_op) 28 | 29 | /** \returns an expression of a custom coefficient-wise operator \a func of *this and \a other 30 | * 31 | * The template parameter \a CustomBinaryOp is the type of the functor 32 | * of the custom operator (see class CwiseBinaryOp for an example) 33 | * 34 | * Here is an example illustrating the use of custom functors: 35 | * \include class_CwiseBinaryOp.cpp 36 | * Output: \verbinclude class_CwiseBinaryOp.out 37 | * 38 | * \sa class CwiseBinaryOp, operator+(), operator-(), cwiseProduct() 39 | */ 40 | template 41 | EIGEN_STRONG_INLINE const CwiseBinaryOp 42 | binaryExpr(const EIGEN_CURRENT_STORAGE_BASE_CLASS &other, const CustomBinaryOp& func = CustomBinaryOp()) const 43 | { 44 | return CwiseBinaryOp(derived(), other.derived(), func); 45 | } 46 | 47 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/config/ftmodule.h: -------------------------------------------------------------------------------- 1 | /* 2 | * This file registers the FreeType modules compiled into the library. 3 | * 4 | * If you use GNU make, this file IS NOT USED! Instead, it is created in 5 | * the objects directory (normally `/objs/') based on information 6 | * from `/modules.cfg'. 7 | * 8 | * Please read `docs/INSTALL.ANY' and `docs/CUSTOMIZE' how to compile 9 | * FreeType without GNU make. 10 | * 11 | */ 12 | 13 | FT_USE_MODULE( FT_Module_Class, autofit_module_class ) 14 | FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) 15 | FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) 16 | FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) 17 | FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) 18 | FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) 19 | FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) 20 | FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) 21 | FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) 22 | FT_USE_MODULE( FT_Module_Class, psaux_module_class ) 23 | FT_USE_MODULE( FT_Module_Class, psnames_module_class ) 24 | FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) 25 | FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) 26 | FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) 27 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) 28 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) 29 | FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) 30 | FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) 31 | 32 | /* EOF */ 33 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/ft2build.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* ft2build.h */ 4 | /* */ 5 | /* FreeType 2 build and setup macros. */ 6 | /* */ 7 | /* Copyright 1996-2001, 2006, 2013 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | /*************************************************************************/ 20 | /* */ 21 | /* This is the `entry point' for FreeType header file inclusions. It is */ 22 | /* the only header file which should be included directly; all other */ 23 | /* FreeType header files should be accessed with macro names (after */ 24 | /* including `ft2build.h'). */ 25 | /* */ 26 | /* A typical example is */ 27 | /* */ 28 | /* #include */ 29 | /* #include FT_FREETYPE_H */ 30 | /* */ 31 | /*************************************************************************/ 32 | 33 | 34 | #ifndef __FT2BUILD_H__ 35 | #define __FT2BUILD_H__ 36 | 37 | #include 38 | 39 | #endif /* __FT2BUILD_H__ */ 40 | 41 | 42 | /* END */ 43 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svkern.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svkern.h */ 4 | /* */ 5 | /* The FreeType Kerning service (specification). */ 6 | /* */ 7 | /* Copyright 2006 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | #ifndef __SVKERN_H__ 20 | #define __SVKERN_H__ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | #include FT_TRUETYPE_TABLES_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | #define FT_SERVICE_ID_KERNING "kerning" 29 | 30 | 31 | typedef FT_Error 32 | (*FT_Kerning_TrackGetFunc)( FT_Face face, 33 | FT_Fixed point_size, 34 | FT_Int degree, 35 | FT_Fixed* akerning ); 36 | 37 | FT_DEFINE_SERVICE( Kerning ) 38 | { 39 | FT_Kerning_TrackGetFunc get_track; 40 | }; 41 | 42 | /* */ 43 | 44 | 45 | FT_END_HEADER 46 | 47 | 48 | #endif /* __SVKERN_H__ */ 49 | 50 | 51 | /* END */ 52 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svotval.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svotval.h */ 4 | /* */ 5 | /* The FreeType OpenType validation service (specification). */ 6 | /* */ 7 | /* Copyright 2004, 2006 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | #ifndef __SVOTVAL_H__ 20 | #define __SVOTVAL_H__ 21 | 22 | #include FT_OPENTYPE_VALIDATE_H 23 | #include FT_INTERNAL_VALIDATE_H 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | #define FT_SERVICE_ID_OPENTYPE_VALIDATE "opentype-validate" 29 | 30 | 31 | typedef FT_Error 32 | (*otv_validate_func)( FT_Face volatile face, 33 | FT_UInt ot_flags, 34 | FT_Bytes *base, 35 | FT_Bytes *gdef, 36 | FT_Bytes *gpos, 37 | FT_Bytes *gsub, 38 | FT_Bytes *jstf ); 39 | 40 | 41 | FT_DEFINE_SERVICE( OTvalidate ) 42 | { 43 | otv_validate_func validate; 44 | }; 45 | 46 | /* */ 47 | 48 | 49 | FT_END_HEADER 50 | 51 | 52 | #endif /* __SVOTVAL_H__ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svpfr.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svpfr.h */ 4 | /* */ 5 | /* Internal PFR service functions (specification). */ 6 | /* */ 7 | /* Copyright 2003, 2006 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | #ifndef __SVPFR_H__ 20 | #define __SVPFR_H__ 21 | 22 | #include FT_PFR_H 23 | #include FT_INTERNAL_SERVICE_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #define FT_SERVICE_ID_PFR_METRICS "pfr-metrics" 30 | 31 | 32 | typedef FT_Error 33 | (*FT_PFR_GetMetricsFunc)( FT_Face face, 34 | FT_UInt *aoutline, 35 | FT_UInt *ametrics, 36 | FT_Fixed *ax_scale, 37 | FT_Fixed *ay_scale ); 38 | 39 | typedef FT_Error 40 | (*FT_PFR_GetKerningFunc)( FT_Face face, 41 | FT_UInt left, 42 | FT_UInt right, 43 | FT_Vector *avector ); 44 | 45 | typedef FT_Error 46 | (*FT_PFR_GetAdvanceFunc)( FT_Face face, 47 | FT_UInt gindex, 48 | FT_Pos *aadvance ); 49 | 50 | 51 | FT_DEFINE_SERVICE( PfrMetrics ) 52 | { 53 | FT_PFR_GetMetricsFunc get_metrics; 54 | FT_PFR_GetKerningFunc get_kerning; 55 | FT_PFR_GetAdvanceFunc get_advance; 56 | 57 | }; 58 | 59 | /* */ 60 | 61 | FT_END_HEADER 62 | 63 | #endif /* __SVPFR_H__ */ 64 | 65 | 66 | /* END */ 67 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svtteng.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svtteng.h */ 4 | /* */ 5 | /* The FreeType TrueType engine query service (specification). */ 6 | /* */ 7 | /* Copyright 2006 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | #ifndef __SVTTENG_H__ 20 | #define __SVTTENG_H__ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | #include FT_MODULE_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | /* 30 | * SFNT table loading service. 31 | */ 32 | 33 | #define FT_SERVICE_ID_TRUETYPE_ENGINE "truetype-engine" 34 | 35 | /* 36 | * Used to implement FT_Get_TrueType_Engine_Type 37 | */ 38 | 39 | FT_DEFINE_SERVICE( TrueTypeEngine ) 40 | { 41 | FT_TrueTypeEngineType engine_type; 42 | }; 43 | 44 | /* */ 45 | 46 | 47 | FT_END_HEADER 48 | 49 | 50 | #endif /* __SVTTENG_H__ */ 51 | 52 | 53 | /* END */ 54 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svttglyf.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svttglyf.h */ 4 | /* */ 5 | /* The FreeType TrueType glyph service. */ 6 | /* */ 7 | /* Copyright 2007, 2009, 2012 by David Turner. */ 8 | /* */ 9 | /* This file is part of the FreeType project, and may only be used, */ 10 | /* modified, and distributed under the terms of the FreeType project */ 11 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 12 | /* this file you indicate that you have read the license and */ 13 | /* understand and accept it fully. */ 14 | /* */ 15 | /***************************************************************************/ 16 | 17 | #ifndef __SVTTGLYF_H__ 18 | #define __SVTTGLYF_H__ 19 | 20 | #include FT_INTERNAL_SERVICE_H 21 | #include FT_TRUETYPE_TABLES_H 22 | 23 | 24 | FT_BEGIN_HEADER 25 | 26 | 27 | #define FT_SERVICE_ID_TT_GLYF "tt-glyf" 28 | 29 | 30 | typedef FT_ULong 31 | (*TT_Glyf_GetLocationFunc)( FT_Face face, 32 | FT_UInt gindex, 33 | FT_ULong *psize ); 34 | 35 | FT_DEFINE_SERVICE( TTGlyf ) 36 | { 37 | TT_Glyf_GetLocationFunc get_location; 38 | }; 39 | 40 | 41 | #ifndef FT_CONFIG_OPTION_PIC 42 | 43 | #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ 44 | static const FT_Service_TTGlyfRec class_ = \ 45 | { \ 46 | get_location_ \ 47 | }; 48 | 49 | #else /* FT_CONFIG_OPTION_PIC */ 50 | 51 | #define FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ ) \ 52 | void \ 53 | FT_Init_Class_ ## class_( FT_Service_TTGlyfRec* clazz ) \ 54 | { \ 55 | clazz->get_location = get_location_; \ 56 | } 57 | 58 | #endif /* FT_CONFIG_OPTION_PIC */ 59 | 60 | /* */ 61 | 62 | 63 | FT_END_HEADER 64 | 65 | #endif /* __SVTTGLYF_H__ */ 66 | 67 | 68 | /* END */ 69 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svwinfnt.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svwinfnt.h */ 4 | /* */ 5 | /* The FreeType Windows FNT/FONT service (specification). */ 6 | /* */ 7 | /* Copyright 2003 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | #ifndef __SVWINFNT_H__ 20 | #define __SVWINFNT_H__ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | #include FT_WINFONTS_H 24 | 25 | 26 | FT_BEGIN_HEADER 27 | 28 | 29 | #define FT_SERVICE_ID_WINFNT "winfonts" 30 | 31 | typedef FT_Error 32 | (*FT_WinFnt_GetHeaderFunc)( FT_Face face, 33 | FT_WinFNT_HeaderRec *aheader ); 34 | 35 | 36 | FT_DEFINE_SERVICE( WinFnt ) 37 | { 38 | FT_WinFnt_GetHeaderFunc get_header; 39 | }; 40 | 41 | /* */ 42 | 43 | 44 | FT_END_HEADER 45 | 46 | 47 | #endif /* __SVWINFNT_H__ */ 48 | 49 | 50 | /* END */ 51 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/internal/services/svxf86nm.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* svxf86nm.h */ 4 | /* */ 5 | /* The FreeType XFree86 services (specification only). */ 6 | /* */ 7 | /* Copyright 2003 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* This file is part of the FreeType project, and may only be used, */ 11 | /* modified, and distributed under the terms of the FreeType project */ 12 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13 | /* this file you indicate that you have read the license and */ 14 | /* understand and accept it fully. */ 15 | /* */ 16 | /***************************************************************************/ 17 | 18 | 19 | #ifndef __SVXF86NM_H__ 20 | #define __SVXF86NM_H__ 21 | 22 | #include FT_INTERNAL_SERVICE_H 23 | 24 | 25 | FT_BEGIN_HEADER 26 | 27 | 28 | /* 29 | * A trivial service used to return the name of a face's font driver, 30 | * according to the XFree86 nomenclature. Note that the service data 31 | * is a simple constant string pointer. 32 | */ 33 | 34 | #define FT_SERVICE_ID_XF86_NAME "xf86-driver-name" 35 | 36 | #define FT_XF86_FORMAT_TRUETYPE "TrueType" 37 | #define FT_XF86_FORMAT_TYPE_1 "Type 1" 38 | #define FT_XF86_FORMAT_BDF "BDF" 39 | #define FT_XF86_FORMAT_PCF "PCF" 40 | #define FT_XF86_FORMAT_TYPE_42 "Type 42" 41 | #define FT_XF86_FORMAT_CID "CID Type 1" 42 | #define FT_XF86_FORMAT_CFF "CFF" 43 | #define FT_XF86_FORMAT_PFR "PFR" 44 | #define FT_XF86_FORMAT_WINFNT "Windows FNT" 45 | 46 | /* */ 47 | 48 | 49 | FT_END_HEADER 50 | 51 | 52 | #endif /* __SVXF86NM_H__ */ 53 | 54 | 55 | /* END */ 56 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/include/ttunpat.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************/ 2 | /* */ 3 | /* ttunpat.h */ 4 | /* */ 5 | /* Definitions for the unpatented TrueType hinting system */ 6 | /* */ 7 | /* Copyright 2003, 2006 by */ 8 | /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9 | /* */ 10 | /* Written by Graham Asher */ 11 | /* */ 12 | /* This file is part of the FreeType project, and may only be used, */ 13 | /* modified, and distributed under the terms of the FreeType project */ 14 | /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 15 | /* this file you indicate that you have read the license and */ 16 | /* understand and accept it fully. */ 17 | /* */ 18 | /***************************************************************************/ 19 | 20 | 21 | #ifndef __TTUNPAT_H__ 22 | #define __TTUNPAT_H__ 23 | 24 | 25 | #include 26 | #include FT_FREETYPE_H 27 | 28 | #ifdef FREETYPE_H 29 | #error "freetype.h of FreeType 1 has been loaded!" 30 | #error "Please fix the directory search order for header files" 31 | #error "so that freetype.h of FreeType 2 is found first." 32 | #endif 33 | 34 | 35 | FT_BEGIN_HEADER 36 | 37 | 38 | /*************************************************************************** 39 | * 40 | * @constant: 41 | * FT_PARAM_TAG_UNPATENTED_HINTING 42 | * 43 | * @description: 44 | * A constant used as the tag of an @FT_Parameter structure to indicate 45 | * that unpatented methods only should be used by the TrueType bytecode 46 | * interpreter for a typeface opened by @FT_Open_Face. 47 | * 48 | */ 49 | #define FT_PARAM_TAG_UNPATENTED_HINTING FT_MAKE_TAG( 'u', 'n', 'p', 'a' ) 50 | 51 | /* */ 52 | 53 | 54 | FT_END_HEADER 55 | 56 | 57 | #endif /* __TTUNPAT_H__ */ 58 | 59 | 60 | /* END */ 61 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/freetype/libs/libfreetype.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/3rdparty/freetype/libs/libfreetype.a -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/glfw3/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2010 Camilla Berglund 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would 15 | be appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not 18 | be misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source 21 | distribution. 22 | 23 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/glfw3/libs/libglfw3.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/3rdparty/glfw3/libs/libglfw3.a -------------------------------------------------------------------------------- /Example/stereo_vw_example/3rdparty/opengl/GLES3/gl3platform.h: -------------------------------------------------------------------------------- 1 | #ifndef __gl3platform_h_ 2 | #define __gl3platform_h_ 3 | 4 | /* $Revision: 23328 $ on $Date:: 2013-10-02 02:28:28 -0700 #$ */ 5 | 6 | /* 7 | * This document is licensed under the SGI Free Software B License Version 8 | * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . 9 | */ 10 | 11 | /* Platform-specific types and definitions for OpenGL ES 3.X gl3.h 12 | * 13 | * Adopters may modify khrplatform.h and this file to suit their platform. 14 | * You are encouraged to submit all modifications to the Khronos group so that 15 | * they can be included in future versions of this file. Please submit changes 16 | * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) 17 | * by filing a bug against product "OpenGL-ES" component "Registry". 18 | */ 19 | 20 | #include 21 | 22 | #ifndef GL_APICALL 23 | #define GL_APICALL KHRONOS_APICALL 24 | #endif 25 | 26 | #ifndef GL_APIENTRY 27 | #define GL_APIENTRY KHRONOS_APIENTRY 28 | #endif 29 | 30 | #endif /* __gl3platform_h_ */ 31 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/calib/left.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | image_width: 640 3 | image_height: 480 4 | camera_name: narrow_stereo/left 5 | camera_matrix: 6 | rows: 3 7 | cols: 3 8 | data: [359.89369, 0. , 323.72367, 9 | 0. , 358.14731, 234.33056, 10 | 0. , 0. , 1. ] 11 | camera_model: plumb_bob 12 | distortion_coefficients: 13 | rows: 1 14 | cols: 5 15 | data: [-0.347969, 0.097946, 0.001810, -0.001847, 0.000000] 16 | rectification_matrix: 17 | rows: 3 18 | cols: 3 19 | data: [ 0.99893584, 0.00273094, 0.04604046, 20 | -0.00254891, 0.9999887 , -0.00401188, 21 | -0.04605089, 0.00389026, 0.99893152] 22 | projection_matrix: 23 | rows: 3 24 | cols: 4 25 | data: [297.70706, 0. , 294.49846, 0. , 26 | 0. , 297.70706, 242.16103, 0. , 27 | 0. , 0. , 1. , 0. ] 28 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/calib/right.yaml: -------------------------------------------------------------------------------- 1 | %YAML:1.0 2 | image_width: 640 3 | image_height: 480 4 | camera_name: narrow_stereo/right 5 | camera_matrix: 6 | rows: 3 7 | cols: 3 8 | data: [353.73636, 0. , 315.05608, 9 | 0. , 352.93714, 247.28092, 10 | 0. , 0. , 1. ] 11 | camera_model: plumb_bob 12 | distortion_coefficients: 13 | rows: 1 14 | cols: 5 15 | data: [-0.337631, 0.090772, -0.000481, 0.001013, 0.000000] 16 | rectification_matrix: 17 | rows: 3 18 | cols: 3 19 | data: [ 0.99997447, 0.00005606, 0.00714503, 20 | -0.00008429, 0.99999219, 0.00395185, 21 | -0.00714475, -0.00395235, 0.99996667] 22 | projection_matrix: 23 | rows: 3 24 | cols: 4 25 | data: [297.70706, 0. , 294.49846, -35.60089, 26 | 0. , 297.70706, 242.16103, 0. , 27 | 0. , 0. , 1. , 0. ] 28 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/color_disparity_graph.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef COLOR_DISPARITY_GRAPH_HPP 30 | #define COLOR_DISPARITY_GRAPH_HPP 31 | 32 | #include 33 | 34 | class ColorDisparityGraph 35 | { 36 | public: 37 | ColorDisparityGraph(vx_context context, vx_image disparity, vx_image output, vx_int32 ndisp); 38 | ~ColorDisparityGraph(); 39 | 40 | void process(); 41 | void printPerfs(); 42 | 43 | private: 44 | static void fillLUT(vx_lut r_lut, vx_lut g_lut, vx_lut b_lut, vx_int32 ndisp); 45 | 46 | vx_graph graph_; 47 | vx_node lut_node_[3]; 48 | vx_node combine_node_; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/darknet/.gitattributes: -------------------------------------------------------------------------------- 1 | yolov3.weights filter=lfs diff=lfs merge=lfs -text 2 | *.weights filter=lfs diff=lfs merge=lfs -text 3 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/darknet/coco.data: -------------------------------------------------------------------------------- 1 | classes= 80 2 | train = /home/pjreddie/data/coco/trainvalno5k.txt 3 | valid = coco_testdev 4 | names = ./darknet/coco.names 5 | backup = /home/pjreddie/backup/ 6 | eval=coco -------------------------------------------------------------------------------- /Example/stereo_vw_example/darknet/coco.names: -------------------------------------------------------------------------------- 1 | person 2 | bicycle 3 | car 4 | motorbike 5 | aeroplane 6 | bus 7 | train 8 | truck 9 | boat 10 | traffic light 11 | fire hydrant 12 | stop sign 13 | parking meter 14 | bench 15 | bird 16 | cat 17 | dog 18 | horse 19 | sheep 20 | cow 21 | elephant 22 | bear 23 | zebra 24 | giraffe 25 | backpack 26 | umbrella 27 | handbag 28 | tie 29 | suitcase 30 | frisbee 31 | skis 32 | snowboard 33 | sports ball 34 | kite 35 | baseball bat 36 | baseball glove 37 | skateboard 38 | surfboard 39 | tennis racket 40 | bottle 41 | wine glass 42 | cup 43 | fork 44 | knife 45 | spoon 46 | bowl 47 | banana 48 | apple 49 | sandwich 50 | orange 51 | broccoli 52 | carrot 53 | hot dog 54 | pizza 55 | donut 56 | cake 57 | chair 58 | sofa 59 | pottedplant 60 | bed 61 | diningtable 62 | toilet 63 | tvmonitor 64 | laptop 65 | mouse 66 | remote 67 | keyboard 68 | cell phone 69 | microwave 70 | oven 71 | toaster 72 | sink 73 | refrigerator 74 | book 75 | clock 76 | vase 77 | scissors 78 | teddy bear 79 | hair drier 80 | toothbrush 81 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/darknet/libdarknet.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/darknet/libdarknet.so -------------------------------------------------------------------------------- /Example/stereo_vw_example/darknet/yolov3.weights: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:523e4e69e1d015393a1b0a441cef1d9c7659e3eb2d7e15f793f060a21b32f297 3 | size 248007048 4 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/libs/libnvx.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/libs/libnvx.a -------------------------------------------------------------------------------- /Example/stereo_vw_example/libs/libovx.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/libs/libovx.a -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvgstcamera_capture_user_guide.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 2 | 3 | (L4T R24) NVIDIA GStreamer Camera Capture Sample App 4 | @brief NVIDIA GStreamer Camera Capture Sample user guide. 5 | 6 | ## Introduction ## 7 | 8 | `nvx_sample_nvgstcamera_capture` demonstrates NVIDIA GStreamer camera access. The sample is tested with 9 | the E2146 camera module. 10 | 11 | @note This sample is supported only on Jetson Embedded platforms running L4T R24 OS. 12 | 13 | `nvx_sample_nvgstcamera_capture` is installed in the following directory: 14 | 15 | /usr/share/visionworks/sources/samples/nvgstcamera_capture 16 | 17 | For the steps to build sample applications, see the see: nvx_sample_building_linux section. 18 | 19 | ## Available Camera modes 20 | 21 | | Resolution | Frames per second | 22 | |:-----------:|:-----------------:| 23 | | `2592x1944` | 30 | 24 | | `2592x1458` | 30 | 25 | | `1280x720` | 120 | 26 | 27 | ## Executing the NVIDIA GStreamer Camera Capture Sample ## 28 | 29 | ./nvx_sample_nvgstcamera_capture [options] 30 | 31 | ### Command Line Options ### 32 | 33 | This topic provides a list of supported options and the values they consume. 34 | 35 | #### \-r, \--resolution #### 36 | - Parameter: [resolution] 37 | - Description: Specifies the resolution. 38 | - Usage: `--resolution=1280x720` for capturing `720p` frames. 39 | - Supported resolution settings: 40 | 41 | - `2592x1944` 42 | - `2592x1458` 43 | - `1280x720` 44 | - `640x480` 45 | 46 | #### \-f, \--fps #### 47 | - Parameter: [fps] 48 | - Description: Specifies the frame per second. 49 | - Usage: `--fps=30` to capture 30 frames per second. 50 | - Supported FPS settings: `[10, 120]` 51 | 52 | @note The actual FPS value may differ from the specified one: 53 | 1. Custom resolutions such as `640x480` cannot be played with FPS higher than 30. 54 | 2. FPS for native resolutions cannot be higher than the native value. 55 | 56 | #### \-h, \--help #### 57 | - Description: Prints the help message. 58 | 59 | ### Operational Keys ### 60 | - Use `Space` to pause/resume the sample. 61 | - Use `ESC` to close the sample. 62 | 63 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/include/NVX/Export.hpp: -------------------------------------------------------------------------------- 1 | 2 | #ifndef NVXIO_EXPORT_H 3 | #define NVXIO_EXPORT_H 4 | 5 | #ifdef NVXIO_STATIC_DEFINE 6 | # define NVXIO_EXPORT 7 | # define NVXIO_NO_EXPORT 8 | #else 9 | # ifndef NVXIO_EXPORT 10 | # ifdef nvxio_EXPORTS 11 | /* We are building this library */ 12 | # define NVXIO_EXPORT __attribute__((visibility("default"))) 13 | # else 14 | /* We are using this library */ 15 | # define NVXIO_EXPORT __attribute__((visibility("default"))) 16 | # endif 17 | # endif 18 | 19 | # ifndef NVXIO_NO_EXPORT 20 | # define NVXIO_NO_EXPORT __attribute__((visibility("hidden"))) 21 | # endif 22 | #endif 23 | 24 | #ifndef NVXIO_DEPRECATED 25 | # define NVXIO_DEPRECATED __attribute__ ((__deprecated__)) 26 | # define NVXIO_DEPRECATED_EXPORT NVXIO_EXPORT __attribute__ ((__deprecated__)) 27 | # define NVXIO_DEPRECATED_NO_EXPORT NVXIO_NO_EXPORT __attribute__ ((__deprecated__)) 28 | #endif 29 | 30 | #define DEFINE_NO_DEPRECATED 0 31 | #if DEFINE_NO_DEPRECATED 32 | # define NVXIO_NO_DEPRECATED 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Application.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Application.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ArgumentParser.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ArgumentParser.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/BaseRender3DImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/BaseRender3DImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ConfigParser.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ConfigParser.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ConvertFrame.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ConvertFrame.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/EGLAPIAccessors.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/EGLAPIAccessors.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/EventLogger.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/EventLogger.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/EventPlayer.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/EventPlayer.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/FrameSource.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/FrameSource.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/FrameSourceOVX.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/FrameSourceOVX.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/FrameSourceOVXWrapper.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/FrameSourceOVXWrapper.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/FrameSourceWrapper.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/FrameSourceWrapper.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerBaseFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerBaseFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerBaseRenderImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerBaseRenderImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerCameraFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerCameraFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerCommon.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerCommon.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerEGLStreamSinkFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerEGLStreamSinkFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerImagesFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerImagesFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerImagesRenderImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerImagesRenderImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerNvCameraFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerNvCameraFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerNvMediaFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerNvMediaFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerOpenMAXFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerOpenMAXFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerVideoFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerVideoFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GStreamerVideoRenderImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GStreamerVideoRenderImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/GlfwUIRenderImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/GlfwUIRenderImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ImageCapture.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ImageCapture.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/LogUtils.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/LogUtils.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/NVXIOFeatures.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/NVXIOFeatures.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/NvMediaCSI10635CameraFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/NvMediaCSI10635CameraFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/NvMediaCSI10640CameraFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/NvMediaCSI10640CameraFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/NvMediaVideoFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/NvMediaVideoFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenCVFrameSourceImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenCVFrameSourceImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenCVImageFrameSource.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenCVImageFrameSource.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenCVVideoFrameSource.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenCVVideoFrameSource.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenGL.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenGL.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenGLBasicRenders.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenGLBasicRenders.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenGLOpenCVRenderImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenGLOpenCVRenderImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OpenGLRenderImpl.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OpenGLRenderImpl.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/OptionHandler.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/OptionHandler.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ProfilerRange.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ProfilerRange.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Render.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Render.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Render3D.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Render3D.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Render3DOVX.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Render3DOVX.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Render3DOVXWrapper.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Render3DOVXWrapper.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Render3DWrapper.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Render3DWrapper.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/RenderOVX.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/RenderOVX.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/RenderOVXWrapper.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/RenderOVXWrapper.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/RenderWrapper.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/RenderWrapper.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/SyncTimer.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/SyncTimer.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Types.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Types.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/TypesOVX.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/TypesOVX.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/Utility.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/Utility.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/UtilityOVX.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/UtilityOVX.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/eglstrm_setup.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/eglstrm_setup.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/img_producer.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/img_producer.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/interop.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/interop.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ipp_component.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ipp_component.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/ipp_raw.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/ipp_raw.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/plugin.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/plugin.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/obj/release/plugin_config.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/nvxio/obj/release/plugin_config.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/GStreamer/GStreamerCameraFrameSourceImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERCAMERAFRAMESOURCEIMPL_HPP 30 | #define GSTREAMERCAMERAFRAMESOURCEIMPL_HPP 31 | 32 | #ifdef USE_GSTREAMER 33 | 34 | #include "FrameSource/GStreamer/GStreamerBaseFrameSourceImpl.hpp" 35 | 36 | namespace nvidiaio 37 | { 38 | 39 | class GStreamerCameraFrameSourceImpl : 40 | public GStreamerBaseFrameSourceImpl 41 | { 42 | public: 43 | explicit GStreamerCameraFrameSourceImpl(uint cameraIdx_); 44 | 45 | virtual bool setConfiguration(const Parameters & params); 46 | 47 | protected: 48 | 49 | virtual bool InitializeGstPipeLine(); 50 | 51 | uint cameraIdx; 52 | }; 53 | 54 | } // namespace nvidiaio 55 | 56 | #endif // USE_GSTREAMER 57 | 58 | #endif // GSTREAMERCAMERAFRAMESOURCEIMPL_HPP 59 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/GStreamer/GStreamerCommon.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERCOMMON_HPP 30 | #define GSTREAMERCOMMON_HPP 31 | 32 | #ifdef USE_GSTREAMER 33 | 34 | #include "FrameSource/FrameSourceImpl.hpp" 35 | 36 | #include "Private/LogUtils.hpp" 37 | #include "Private/GStreamerUtils.hpp" 38 | 39 | namespace nvidiaio 40 | { 41 | 42 | // For some reason, sink_element on U12 does not have width, height, FPS fields 43 | // So, we have to pass color_element as well and extract these fields from it. 44 | bool updateConfiguration(GstElement * sink_element, GstElement * color_element, 45 | FrameSource::Parameters & configuration); 46 | 47 | } 48 | 49 | #endif // USE_GSTREAMER 50 | 51 | #endif // GSTREAMERCOMMON_HPP 52 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/GStreamer/GStreamerImagesFrameSourceImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERIMAGESFRAMESOURCEIMPL_HPP 30 | #define GSTREAMERIMAGESFRAMESOURCEIMPL_HPP 31 | 32 | #ifdef USE_GSTREAMER 33 | 34 | #include "FrameSource/GStreamer/GStreamerBaseFrameSourceImpl.hpp" 35 | 36 | namespace nvidiaio 37 | { 38 | 39 | class GStreamerImagesFrameSourceImpl : 40 | public GStreamerBaseFrameSourceImpl 41 | { 42 | public: 43 | GStreamerImagesFrameSourceImpl(SourceType type, const std::string & fileName); 44 | 45 | protected: 46 | 47 | virtual bool InitializeGstPipeLine(); 48 | 49 | static GstAutoplugSelectResult autoPlugSelect(GstElement * bin, GstPad * pad, 50 | GstCaps * caps, GstElementFactory * factory, 51 | gpointer user_data); 52 | 53 | std::string fileName; 54 | }; 55 | 56 | } // namespace nvidiaio 57 | 58 | #endif // USE_GSTREAMER 59 | 60 | #endif // GSTREAMERIMAGESFRAMESOURCEIMPL_HPP 61 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/GStreamer/GStreamerNvCameraFrameSourceImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERNVCAMERAFRAMESOURCEIMPL_HPP 30 | #define GSTREAMERNVCAMERAFRAMESOURCEIMPL_HPP 31 | 32 | #include "GStreamerEGLStreamSinkFrameSourceImpl.hpp" 33 | 34 | #ifdef USE_NVGSTCAMERA 35 | 36 | namespace nvidiaio 37 | { 38 | 39 | class GStreamerNvCameraFrameSourceImpl : 40 | public GStreamerEGLStreamSinkFrameSourceImpl 41 | { 42 | public: 43 | explicit GStreamerNvCameraFrameSourceImpl(uint cameraIdx_); 44 | 45 | virtual bool setConfiguration(const FrameSource::Parameters& params); 46 | 47 | protected: 48 | 49 | virtual bool InitializeGstPipeLine(); 50 | 51 | uint cameraIdx; 52 | }; 53 | 54 | } // namespace nvidiaio 55 | 56 | #endif // USE_NVGSTCAMERA 57 | 58 | #endif // GSTREAMERNVCAMERAFRAMESOURCEIMPL_HPP 59 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/GStreamer/GStreamerVideoFrameSourceImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERVIDEOFRAMESOURCEIMPL_HPP 30 | #define GSTREAMERVIDEOFRAMESOURCEIMPL_HPP 31 | 32 | #ifdef USE_GSTREAMER 33 | 34 | #include "FrameSource/GStreamer/GStreamerBaseFrameSourceImpl.hpp" 35 | 36 | namespace nvidiaio 37 | { 38 | 39 | class GStreamerVideoFrameSourceImpl : 40 | public GStreamerBaseFrameSourceImpl 41 | { 42 | public: 43 | explicit GStreamerVideoFrameSourceImpl(const std::string & path); 44 | 45 | protected: 46 | 47 | static GstAutoplugSelectResult autoPlugSelect(GstElement * bin, GstPad * pad, 48 | GstCaps * caps, GstElementFactory * factory, 49 | gpointer user_data); 50 | 51 | virtual bool InitializeGstPipeLine(); 52 | 53 | const std::string fileName; 54 | }; 55 | 56 | } // namespace nvidiaio 57 | 58 | #endif // defined USE_GSTREAMER 59 | 60 | #endif // GSTREAMERVIDEOFRAMESOURCEIMPL_HPP 61 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/NvMedia/OV10640/eglstrm_setup.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * NVIDIA CORPORATION and its licensors retain all intellectual property 5 | * and proprietary rights in and to this software, related documentation 6 | * and any modifications thereto. Any use, reproduction, disclosure or 7 | * distribution of this software and related documentation without an express 8 | * license agreement from NVIDIA CORPORATION is strictly prohibited. 9 | */ 10 | 11 | #ifndef NVMEDIA_EGLSTRM_SETUP_HPP 12 | #define NVMEDIA_EGLSTRM_SETUP_HPP 13 | 14 | #ifdef USE_CSI_OV10640 15 | 16 | #include "nvmedia_eglstream.h" 17 | #include "nvcommon.h" 18 | 19 | #include "FrameSource/EGLAPIAccessors.hpp" 20 | 21 | /* struct to give client params of the connection */ 22 | /* struct members are read-only to client */ 23 | typedef struct _EglStreamClient { 24 | EGLDisplay display; 25 | EGLStreamKHR eglStream[NVMEDIA_MAX_AGGREGATE_IMAGES]; 26 | NvBool fifoMode; 27 | NvU32 numofStream; 28 | } EglStreamClient; 29 | 30 | EglStreamClient* 31 | EGLStreamInit(EGLDisplay display, 32 | NvU32 numOfStreams, 33 | NvBool fifoMode); 34 | NvMediaStatus 35 | EGLStreamFini(EglStreamClient *client); 36 | 37 | #endif // USE_CSI_OV10640 38 | 39 | #endif // NVMEDIA_EGLSTRM_SETUP_HPP 40 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/NvMedia/OV10640/img_producer.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 2 | * 3 | * NVIDIA CORPORATION and its licensors retain all intellectual property 4 | * and proprietary rights in and to this software, related documentation 5 | * and any modifications thereto. Any use, reproduction, disclosure or 6 | * distribution of this software and related documentation without an express 7 | * license agreement from NVIDIA CORPORATION is strictly prohibited. 8 | */ 9 | 10 | #ifndef NVMEDIA_IMAGEPRODUCER_HPP 11 | #define NVMEDIA_IMAGEPRODUCER_HPP 12 | 13 | #ifdef USE_CSI_OV10640 14 | 15 | #include "eglstrm_setup.hpp" 16 | #include "interop.hpp" 17 | 18 | #define EGL_PRODUCER_TIMEOUT_MS 16 19 | #define GET_FRAME_TIMEOUT 500 20 | 21 | // The max number of retries after ProducerGetImage() 22 | // times out, which happens because consumer 23 | // might be slower than producer. 24 | #define EGL_PRODUCER_GET_IMAGE_MAX_RETRIES 1000 25 | 26 | typedef struct { 27 | NvMediaDevice *device; 28 | char *inputImages; 29 | NvU32 width; 30 | NvU32 height; 31 | NvU32 ippNum; 32 | NvU32 frameCount; 33 | NvMediaSurfaceType surfaceType; 34 | NvMediaIPPComponent *outputComponent[NVMEDIA_MAX_AGGREGATE_IMAGES]; 35 | NvMediaBool eglProducerGetImageFlag[NVMEDIA_MAX_AGGREGATE_IMAGES]; 36 | //EGL params 37 | NvMediaEGLStreamProducer *eglProducer[NVMEDIA_MAX_AGGREGATE_IMAGES]; 38 | EGLStreamKHR eglStream[NVMEDIA_MAX_AGGREGATE_IMAGES]; 39 | EGLDisplay eglDisplay; 40 | NvMediaBool *producerExited; 41 | NvMediaBool *quit; 42 | NvMediaBool showTimeStamp; 43 | NvMediaBool showMetadataFlag; 44 | NvMediaBool fifoMode; 45 | 46 | } ImageProducerCtx; 47 | 48 | /* Intialize IPP Image Producer context and create producer*/ 49 | ImageProducerCtx* 50 | ImageProducerInit(NvMediaDevice *device, 51 | EglStreamClient *streamClient, 52 | NvU32 width, NvU32 height, 53 | InteropContext *interopCtx); 54 | /* Clears IPP Image Producer context */ 55 | NvMediaStatus ImageProducerFini(ImageProducerCtx *client); 56 | 57 | /* ImageProducerProc() is the IPPs output thread frunction. 58 | It is waiting on the output from IPPs, and put the output 59 | images into the input queue.*/ 60 | void ImageProducerProc(void *data, void *user_data); 61 | 62 | #endif // USE_CSI_OV10640 63 | 64 | #endif // NVMEDIA_IMAGEPRODUCER_HPP 65 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/NvMedia/OV10640/interop.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * NVIDIA CORPORATION and its licensors retain all intellectual property 5 | * and proprietary rights in and to this software, related documentation 6 | * and any modifications thereto. Any use, reproduction, disclosure or 7 | * distribution of this software and related documentation without an express 8 | * license agreement from NVIDIA CORPORATION is strictly prohibited. 9 | */ 10 | 11 | #ifndef NVMEDIA_INTEROP_HPP 12 | #define NVMEDIA_INTEROP_HPP 13 | 14 | #ifdef USE_CSI_OV10640 15 | 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | 23 | #include "main.hpp" 24 | #include "eglstrm_setup.hpp" 25 | #include "log_utils.h" 26 | #include "ipp_raw.hpp" 27 | 28 | typedef struct { 29 | 30 | // EGLStreams 31 | NvMediaDevice *device; 32 | // Win Util 33 | EGLDisplay eglDisplay; 34 | EglStreamClient *eglStrmCtx; 35 | void *producerCtx; 36 | void *consumerCtx; 37 | NvThread *getOutputThread; 38 | 39 | //EGLStreams Params 40 | NvMediaSurfaceType eglProdSurfaceType; 41 | NvMediaBool producerExited; 42 | NvMediaBool consumerExited; 43 | NvMediaBool consumerInitDone; 44 | NvMediaBool interopExited; 45 | NvMediaBool *quit; 46 | 47 | // General processing params 48 | NvU32 width; 49 | NvU32 height; 50 | NvU32 ippNum; 51 | NvMediaIPPComponent *outputComponent[NVMEDIA_MAX_AGGREGATE_IMAGES]; 52 | NvMediaBool showTimeStamp; 53 | NvMediaBool showMetadataFlag; 54 | 55 | } InteropContext; 56 | 57 | /* IPPInteropInit: Initiliaze context for Interop 58 | CUDA consumer, NvMedia producer*/ 59 | NvMediaStatus 60 | InteropInit (InteropContext *interopCtx, IPPCtx *ippCtx); 61 | 62 | /* IPPInteropProc: Starts Interop process 63 | CUDA consumer, NvMedia producer*/ 64 | NvMediaStatus 65 | InteropProc (void* data); 66 | 67 | /* IPPInteropFini: clears context for Interop 68 | CUDA consumer, NvMedia producer*/ 69 | NvMediaStatus 70 | InteropFini(InteropContext *interopCtx); 71 | 72 | #endif // USE_CSI_OV10640 73 | 74 | #endif // NVMEDIA_INTEROP_HPP 75 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/NvMedia/OV10640/ipp_component.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * NVIDIA CORPORATION and its licensors retain all intellectual property 5 | * and proprietary rights in and to this software, related documentation 6 | * and any modifications thereto. Any use, reproduction, disclosure or 7 | * distribution of this software and related documentation without an express 8 | * license agreement from NVIDIA CORPORATION is strictly prohibited. 9 | */ 10 | 11 | #ifndef NVMEDIA_IPP_COMPONENT_HPP 12 | #define NVMEDIA_IPP_COMPONENT_HPP 13 | 14 | #ifdef USE_CSI_OV10640 15 | 16 | #include "ipp_raw.hpp" 17 | #include "buffer_utils.h" 18 | 19 | NvMediaStatus 20 | IPPSetCaptureSettings ( 21 | IPPCtx *ctx, 22 | CaptureConfigParams *config); 23 | 24 | // Create Raw Pipeline 25 | NvMediaStatus IPPCreateRawPipeline(IPPCtx *ctx); 26 | 27 | #endif // USE_CSI_OV10640 28 | 29 | #endif // NVMEDIA_IPP_COMPONENT_HPP 30 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/NvMedia/OV10640/main.hpp: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 2 | * 3 | * NVIDIA CORPORATION and its licensors retain all intellectual property 4 | * and proprietary rights in and to this software, related documentation 5 | * and any modifications thereto. Any use, reproduction, disclosure or 6 | * distribution of this software and related documentation without an express 7 | * license agreement from NVIDIA CORPORATION is strictly prohibited. 8 | */ 9 | 10 | #ifndef NVMEDIA_IPP_MAIN_HPP 11 | #define NVMEDIA_IPP_MAIN_HPP 12 | 13 | #ifdef USE_CSI_OV10640 14 | 15 | #include 16 | #include 17 | 18 | #include "nvcommon.h" 19 | #include "nvmedia.h" 20 | #include "nvmedia_image.h" 21 | #include "nvmedia_isp.h" 22 | #include "thread_utils.h" 23 | 24 | #include "FrameSource/NvMedia/NvMediaCameraConfigParams.hpp" 25 | 26 | #include 27 | 28 | #define MAX_STRING_SIZE 256 29 | #define MAX_CONFIG_SECTIONS 20 30 | 31 | typedef enum 32 | { 33 | NVMEDIA_NOACPLUGIN, 34 | NVMEDIA_SIMPLEACPLUGIN, 35 | NVMEDIA_NVACPLUGIN 36 | } NvMediaACPluginType; 37 | 38 | #endif // USE_CSI_OV10640 39 | 40 | #endif // NVMEDIA_IPP_MAIN_HPP 41 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/NvMedia/OV10640/plugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * NVIDIA CORPORATION and its licensors retain all intellectual property 5 | * and proprietary rights in and to this software, related documentation 6 | * and any modifications thereto. Any use, reproduction, disclosure or 7 | * distribution of this software and related documentation without an express 8 | * license agreement from NVIDIA CORPORATION is strictly prohibited. 9 | */ 10 | 11 | #ifdef USE_CSI_OV10640 12 | 13 | #ifndef NVMEDIA_PLUGIN_H 14 | #define NVMEDIA_PLUGIN_H 15 | 16 | #include "nvmedia_ipp.h" 17 | #include "nvcommon.h" 18 | 19 | #ifdef __cplusplus 20 | extern "C" { 21 | #endif 22 | 23 | typedef struct { 24 | NvMediaBool enable; 25 | float gains[4]; 26 | float matrix[4][4]; 27 | unsigned int threshholds[2]; 28 | int points[4]; 29 | } PluginConfigDataAWB; 30 | 31 | typedef struct { 32 | NvMediaBool enable; 33 | } PluginConfigDataAE; 34 | 35 | typedef struct { 36 | PluginConfigDataAE ae; 37 | PluginConfigDataAWB awb; 38 | } PluginConfigData; 39 | 40 | typedef struct { 41 | NvMediaIPPComponent *controlAlgorithmHandle; 42 | NvMediaIPPPluginSupportFuncs supportFunctions; 43 | NvMediaIPPPropertyStatic staticProperties; 44 | float awb_Adpatgain2shortexp[4]; 45 | NvMediaIPPPluginOutput runningPluginOutput; 46 | PluginConfigData configs; 47 | NvMediaIPPPluginOutputStreamSettings streamSettings[NVMEDIA_IPP_STREAM_MAX_TYPES]; 48 | NvMediaIPPISPVersion ispVersion; 49 | } PluginContext; 50 | 51 | 52 | NvMediaStatus 53 | IPPPluginParseConfiguration( 54 | NvMediaIPPPlugin *pluginHandle, 55 | const char *configurationText); 56 | 57 | NvMediaStatus 58 | IPPPluginCreate( 59 | NvMediaIPPComponent *parentControlAlgorithmHandle, 60 | NvMediaIPPPluginSupportFuncs *pSupportFunctions, 61 | NvMediaIPPPropertyStatic *pStaticProperties, 62 | void *clientContext, 63 | NvMediaIPPPlugin **pluginHandle, 64 | NvMediaIPPISPVersion ispVersion); 65 | 66 | void 67 | IPPPluginDestroy( 68 | NvMediaIPPPlugin *pluginHandle); 69 | 70 | NvMediaStatus 71 | IPPPluginProcess( 72 | NvMediaIPPPlugin *pluginHandle, 73 | NvMediaIPPPluginInput *pluginInput, 74 | NvMediaIPPPluginOutput *pluginOutput); 75 | 76 | #ifdef __cplusplus 77 | } 78 | #endif 79 | 80 | #endif // NVMEDIA_PLUGIN_H 81 | 82 | #endif // USE_CSI_OV10640 83 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/FrameSource/Wrappers/FrameSourceWrapper.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef FRAMESOURCE_NVXCU_WRAPPER_HPP 30 | #define FRAMESOURCE_NVXCU_WRAPPER_HPP 31 | 32 | #include 33 | 34 | #include 35 | 36 | #include "FrameSource/FrameSourceImpl.hpp" 37 | 38 | namespace nvxio 39 | { 40 | 41 | class FrameSourceWrapper : 42 | public FrameSource 43 | { 44 | public: 45 | explicit FrameSourceWrapper(std::unique_ptr source); 46 | virtual bool open(); 47 | virtual FrameSource::FrameStatus fetch(const nvxcu_pitch_linear_image_t & image, uint32_t timeout = 5u /*milliseconds*/); 48 | virtual FrameSource::Parameters getConfiguration(); 49 | virtual bool setConfiguration(const FrameSource::Parameters& params); 50 | virtual void close(); 51 | virtual ~FrameSourceWrapper(); 52 | 53 | private: 54 | std::unique_ptr source_; 55 | bool opened; 56 | }; 57 | 58 | } // namespace nvxio 59 | 60 | #endif // FRAMESOURCE_NVXCU_WRAPPER_HPP 61 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/Private/LogUtils.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef LOG_UTILS_HPP 30 | #define LOG_UTILS_HPP 31 | 32 | #include 33 | 34 | #include 35 | 36 | namespace nvxio { namespace internal { 37 | 38 | #ifndef __ANDROID__ 39 | void nvxio_printf(const char* format, ...); 40 | #endif 41 | 42 | #if defined __linux__ 43 | std::string errnoToString(int errnum); 44 | #endif 45 | 46 | #if defined _WIN32 47 | std::string winErrorToString(unsigned long error); 48 | #endif 49 | 50 | } } 51 | 52 | #ifdef __ANDROID__ 53 | #define NVXIO_PRINT(...) NVXIO_LOGE("NVXIO", __VA_ARGS__) 54 | #else 55 | #define NVXIO_PRINT(format, ...) ::nvxio::internal::nvxio_printf(format, ## __VA_ARGS__) 56 | #endif 57 | 58 | #endif // LOG_UTILS_HPP 59 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/ProfilerRange.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #include 30 | 31 | #ifdef USE_NVTX 32 | #include 33 | #endif 34 | 35 | nvxio::ProfilerRange::ProfilerRange(uint32_t color, const char* message) 36 | { 37 | (void)color; 38 | (void)message; 39 | 40 | #ifdef USE_NVTX 41 | nvtxEventAttributes_t attr = {0}; 42 | attr.version = NVTX_VERSION; 43 | attr.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE; 44 | attr.color = color; 45 | attr.colorType = NVTX_COLOR_ARGB; 46 | attr.message.ascii = message; 47 | attr.messageType = NVTX_MESSAGE_TYPE_ASCII; 48 | nvtxRangePushEx(&attr); 49 | #endif 50 | } 51 | 52 | nvxio::ProfilerRange::~ProfilerRange() 53 | { 54 | #ifdef USE_NVTX 55 | nvtxRangePop(); 56 | #endif 57 | } 58 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/Render/GStreamer/GStreamerImagesRenderImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERIMAGESRENDERIMPL_HPP 30 | #define GSTREAMERIMAGESRENDERIMPL_HPP 31 | 32 | #if defined USE_GUI && defined USE_GSTREAMER 33 | 34 | #include "Render/GStreamer/GStreamerBaseRenderImpl.hpp" 35 | 36 | namespace nvidiaio 37 | { 38 | 39 | class GStreamerImagesRenderImpl : 40 | public GStreamerBaseRenderImpl 41 | { 42 | public: 43 | GStreamerImagesRenderImpl(); 44 | 45 | protected: 46 | virtual bool InitializeGStreamerPipeline(); 47 | }; 48 | 49 | } // namespace nvidiaio 50 | 51 | #endif // USE_GUI && USE_GSTREAMER 52 | #endif // GSTREAMERIMAGESRENDERIMPL_HPP 53 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/Render/GStreamer/GStreamerVideoRenderImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef GSTREAMERVIDEORENDERIMPL_HPP 30 | #define GSTREAMERVIDEORENDERIMPL_HPP 31 | 32 | #if defined USE_GUI && defined USE_GSTREAMER 33 | 34 | #include "Render/GStreamer/GStreamerBaseRenderImpl.hpp" 35 | 36 | namespace nvidiaio 37 | { 38 | 39 | class GStreamerVideoRenderImpl : 40 | public GStreamerBaseRenderImpl 41 | { 42 | public: 43 | GStreamerVideoRenderImpl(); 44 | 45 | protected: 46 | virtual bool InitializeGStreamerPipeline(); 47 | }; 48 | 49 | } // namespace nvidiaio 50 | 51 | #endif // USE_GUI && USE_GSTREAMER 52 | #endif // GSTREAMERVIDEORENDERIMPL_HPP 53 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/Render/OpenCV/OpenGLOpenCVRenderImpl.hpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #ifndef OPENGLOPENCVRENDERIMPL_HPP 30 | #define OPENGLOPENCVRENDERIMPL_HPP 31 | 32 | #if defined USE_GUI && defined USE_OPENCV 33 | 34 | #include "Render/GlfwUIRenderImpl.hpp" 35 | 36 | #include 37 | #include 38 | 39 | #define OPENCV_DEFAULT_FPS 30 40 | 41 | namespace nvidiaio 42 | { 43 | 44 | class OpenGLOpenCVRenderImpl : 45 | public GlfwUIImpl 46 | { 47 | public: 48 | OpenGLOpenCVRenderImpl(TargetType type, const std::string & name); 49 | 50 | virtual bool open(const std::string& path, uint32_t width, uint32_t height, nvxcu_df_image_e format); 51 | virtual bool flush(); 52 | 53 | protected: 54 | int cvtType; 55 | cv::VideoWriter writer; 56 | 57 | cv::Mat displayFrameRGBA; 58 | cv::Mat displayFrameBGR; 59 | }; 60 | 61 | } // namespace nvidiaio 62 | 63 | #endif // USE_GUI && USE_OPENCV 64 | #endif // OPENGLOPENCVRENDERIMPL_HPP 65 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/NVX/Utility.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2014-2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #include 30 | 31 | namespace nvxio 32 | { 33 | 34 | #ifdef __ANDROID__ 35 | void VX_CALLBACK androidLogCallback(vx_context /*context*/, vx_reference /*ref*/, vx_status /*status*/, const vx_char string[]) 36 | { 37 | NVXIO_LOGE("NVX", "[NVX LOG] %s", string); 38 | } 39 | #else 40 | void VX_CALLBACK stdoutLogCallback(vx_context /*context*/, vx_reference /*ref*/, vx_status /*status*/, const vx_char string[]) 41 | { 42 | std::cout << "[NVX LOG] " << string << std::endl; 43 | } 44 | #endif 45 | 46 | } 47 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/nvxio/src/OVX/Render/Render3DOVX.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | # Copyright (c) 2015-2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #include 30 | 31 | #include 32 | #include 33 | 34 | #ifdef USE_GUI 35 | # include "Render/CUDA-OpenGL/BaseRender3DImpl.hpp" 36 | #endif 37 | 38 | #include "Wrappers/Render3DOVXWrapper.hpp" 39 | #include "Render/Wrappers/Render3DWrapper.hpp" 40 | 41 | namespace ovxio 42 | { 43 | 44 | std::unique_ptr createDefaultRender3D(vx_context context, int xPos, int yPos, 45 | const std::string& title, vx_uint32 width, vx_uint32 height) 46 | { 47 | std::unique_ptr ptr = nvidiaio::createDefaultRender3D(xPos, yPos, title, width, height); 48 | 49 | if (!ptr) 50 | return nullptr; 51 | 52 | return ovxio::makeUP(context, std::move(ptr)); 53 | } 54 | 55 | } // namespace ovxio 56 | -------------------------------------------------------------------------------- /Example/stereo_vw_example/obj/release/color_disparity_graph.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/obj/release/color_disparity_graph.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/obj/release/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/obj/release/main.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/obj/release/main_nvgstcamera_capture.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/obj/release/main_nvgstcamera_capture.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/obj/release/stereo_matching.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/obj/release/stereo_matching.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/obj/release/withrobot_camera.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/obj/release/withrobot_camera.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/obj/release/withrobot_utility.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/obj/release/withrobot_utility.o -------------------------------------------------------------------------------- /Example/stereo_vw_example/stereo_matching_demo_config.ini: -------------------------------------------------------------------------------- 1 | min_disparity = 0 2 | max_disparity = 256 3 | P1 = 8 4 | P2 = 109 5 | sad = 5 6 | bt_clip_value = 31 7 | max_diff = 32000 8 | uniqueness_ratio = 0 9 | scanlines_mask = 85 10 | flags = 2 11 | ct_win_size = 0 12 | hc_win_size = 1 -------------------------------------------------------------------------------- /Example/stereo_vw_example/stereo_vw_example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Example/stereo_vw_example/stereo_vw_example -------------------------------------------------------------------------------- /Firmware/README.md: -------------------------------------------------------------------------------- 1 | # Release Note 2 | 3 | ## oCamS-1CGN-U, oCamS-1MGN-U(Oct. 2021) 4 | oCamS firmware supports the Brightness and Auto Exposure for Linux 5 | 6 | ## oCamS-1CGN-U_R2101(Jan. 2021) 7 | Bug fixed - Windows 10 release 2020 version. (white balance fix) / Windows 10 release version : 19041 8 | 9 | 10 | ## oCamS-1CGN-U-F 11 | oCamS-1CGN-U-F-R2011.img : oCamS firmware modified to use oCam Viewer (windows 10 version 2019)
12 | oCamS-1CGN-U-F-R2103.img : oCamS firmware modified to change whitebalance in oCam Viewer (windows 10 version 2020) 13 | 14 | 15 | ## oCamS-1CGN-U_R1811(Nov. 2018) 16 | oCamS firmware(oCamS-1CGN-U_R1811.img) supports resolutions and frame rates as follows.
17 | 18 | ### USB 3.0 19 | **Bayer GRBG format**
20 | 1280 (H) x 960 (V) pixels 45, 30, 25, 20, 15, 10 fps
21 | 1280 (H) x 720 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps
22 | 640 (H) x 480 (V) pixels 45, 30, 25, 20, 15, 10 fps (binning)
23 | 640 (H) x 360 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps (binning)
24 | 320 (H) x 240 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps (cropping)
25 | 26 | ### USB 2.0 27 | **Bayer GRBG format**
28 | 640 (H) x 480 (V) pixels 45, 30, 25, 20, 15, 10 fps (binning)
29 | 640 (H) x 360 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps (binning)
30 | 320 (H) x 240 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps (cropping)
31 | 32 | ## oCamS-1CGN-U_R1803(Mar. 2018) 33 | Stable version.
34 | 35 | ## oCamS-1CGN-U_R1707(Jul. 2017) 36 | oCamS firmware(oCamS-1CGN-U_R1707_170719.img) supports resolutions and frame rates as follows.
37 | ### USB 3.0 38 | **Bayer GRBG format**
39 | 1280 (H) x 960 (V) pixels 45, 30, 25, 20, 15, 10 fps
40 | 1280 (H) x 720 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps
41 | 640 (H) x 480 (V) pixels 45, 30, 25, 20, 15, 10 fps (binning)
42 | 640 (H) x 360 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps (binning)
43 | 44 | ### USB 2.0 45 | **Bayer GRBG format**
46 | 640 (H) x 480 (V) pixels 45, 30, 25, 20, 15, 10 fps (binning)
47 | 640 (H) x 360 (V) pixels 60, 50, 45, 30, 25, 20, 15, 10 fps (binning)
48 | 49 | - IMU data output 50 | - Auto-Exposure 51 | 52 | ## oCamS-1CGN-U_R1705(May. 2017) 53 | oCam firmware(oCamS-1CGN-U_R1705_170523.img) supports resolutions and frame rates as follows 54 | ### USB 3.0 55 | **Bayer GRBG format**
56 | 1280 (H) x 960 (V) pixels 45 fps
57 | 1280 (H) x 720 (V) pixels 60 fps
58 | 640 (H) x 480 (V) pixels 45 fps (binning)
59 | 60 | ### USB 2.0 61 | **Bayer GRBG format**
62 | 640 (H) x 480 (V) pixels 45 fps (binning)
63 | -------------------------------------------------------------------------------- /Firmware/Update_FW/170703_UpdateFW.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/Update_FW/170703_UpdateFW.zip -------------------------------------------------------------------------------- /Firmware/Update_FW/README.md: -------------------------------------------------------------------------------- 1 | # How to update the firmware of oCamS 2 | ### Step 1. Run *[UpdateFW.exe]* 3 | ![ScreenShot](../../images/1_Run_UpdateFW.jpg) 4 | ### Step 2. Click *[Erase FW]* to erase the installed firmware of oCamS. 5 | ### Step 3. Check *[Device Manager]* to see if oCam appears as a WestBridge device with unknown device driver as shown below. 6 | ![ScreenShot](../../images/2_device_change.jpg) 7 | ### Step 4. Install the device driver of the WestBridge device using the driver in the *[drv_1.2.3.10]* directory. 8 | ### Step 5. Check *[Device Manager]* to see if oCamS appears as a Cypress USB BootLoader device as shown below. 9 | ![ScreenShot](../../images/3_driver_setup.jpg) 10 | ### Step 6. Run again the *[UpdateFW.exe]*. 11 | 12 | ![ScreenShot](../../images/4_UpdateFW.jpg) 13 | ### Step 7. Click *[Write FW]* to select the firmware image file (*.img). After selecting a new firmware, UpdateFW will write the new firmware to oCamS. On successful writing, a message window will pop up as shown below. 14 | ![ScreenShot](../../images/5_Firmware_Update.JPG) 15 | ### Step 8. Disconnect and reconnect the USB cable to complete the firmware update procedure. 16 | -------------------------------------------------------------------------------- /Firmware/Update_FW/drv_1.2.3.10.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/Update_FW/drv_1.2.3.10.zip -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U-F-R2011.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U-F-R2011.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U-F-R2103.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U-F-R2103.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U-R1811.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U-R1811.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U-R2111.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U-R2111.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U_R1705_170523.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U_R1705_170523.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U_R1707_170719.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U_R1707_170719.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U_R1803_180416.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U_R1803_180416.img -------------------------------------------------------------------------------- /Firmware/oCamS-1CGN-U_R2101.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1CGN-U_R2101.img -------------------------------------------------------------------------------- /Firmware/oCamS-1MGN-U-R1902.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1MGN-U-R1902.img -------------------------------------------------------------------------------- /Firmware/oCamS-1MGN-U-R2111.img: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Firmware/oCamS-1MGN-U-R2111.img -------------------------------------------------------------------------------- /Product/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/Product/README.md -------------------------------------------------------------------------------- /Product/oCamS-1CGN-U/Korean/README.md: -------------------------------------------------------------------------------- 1 | # oCamS-1CGN-U - USB 3.0 스테레오 카메라 2 | ### Model No. oCamS-1CGN-U - sales website 3 | 4 | ![ScreenShot](../../../images/oCamS-1CGN-U.png) 5 | 6 | ## 특징 7 | * ROS 호환성: ROS(Robot Operating System)와 호환되므로 적은 노력으로 ROS의 풍부하고 강력한 기능을 활용할 수 있습니다. 8 | * 풍부한 데이터: 스테레오 영상 이미지와 IMU 관성센서 데이터가 같이 제공되므로 별도의 처리 없이 카메라 자세 등을 알 수 있습니다. 9 | * 유연성: 교환 가능한 표준 M12 렌즈를 제공하므로 다양한 응용분야에 적용할 수 있습니다. 10 | * 고속 전송: USB 3.0 SuperSpeed 인터페이스를 지원합니다. 11 | * 경제성: 동급 제품에 대비하여 매우 합리적인 가격으로 스테레오 영상을 제공합니다. 12 | 13 | ## Board Detail 14 | ![ScreenShot](../../../images/oCamS-1CGN-U_Layout.PNG) 15 | 16 | 17 | ## 사양 18 | Type | Description | 19 | ------|------| 20 | **센서** | OnSemi AR0135 CMOS 이미지 센서(1/3인치) | 21 | **인터페이스** | USB 3.0 Super-Speed | 22 | **렌즈** | 교환 가능한 표준 M12 렌즈 | 23 | **지원 OS** | Linux, Plug-and Play by UVC(USB Video Class) protocol | 24 | **전원 공급** | USB Bus Power | 25 | **동작 온도** | 0°C ~ + 70°C | 26 | **소모 전력** | DC 5V/240mA | 27 | **셔터** | 글로벌 셔터(Electric Global Shutter) | 28 | **Field Of View(FOV)** | - 65 degrees at full resolution of 1280(H) x 960(V)
- FOV for the following resolutions are reduced from the full resolution image due to cropping: 1280(H) x 720(V)
- FOV for the following resolutions is maintained due to binning: 640(H) x 480(V) | 29 | **제어 기능** | Brightness, Exposure, Color Gain(Red, Blue) | 30 | **이미지 전송률** | 2560x960 @45fps, 2560x720 @60fps, 1280x480 @45fps | 31 | **무게** | 약 30 g(렌즈 포함) | 32 | **크기** | 146mm x 26mm (PCB) | 33 | **베이스 라인** | 120 mm | 34 | 35 | ![ScreenShot](../../../images/oCamS-1CGN-U_poster.jpg) 36 | 37 | ## Softwares 38 | * [oCamS_ROS_Package](../../../Software/oCamS_ROS_Package) 39 | -------------------------------------------------------------------------------- /Product/oCamS-1CGN-U/README.md: -------------------------------------------------------------------------------- 1 | # oCamS-1CGN-U - USB 3.0 Stereo Camera - [(Korean)](Korean/README.md) 2 | ### Model No. oCamS-1CGN-U - sales website 3 | 4 | ![ScreenShot](../../images/oCamS-1CGN-U.png) 5 | 6 | ## Features 7 | * ROS Compatibility: Provides compatibility with ROS (Robot Operating System) to utilize rich and powerful functionalities of ROS 8 | * Rich Data: Provides IMU data from the built-in sensors along with stereo images, which allows development of easy and useful applications 9 | * Versatile: Provides changeable standard M12 lens 10 | * Fast: Provides up to 2560x720 60fps images through USB 3.0 SuperSpeed interface 11 | * Cost Effective: Very affordable price among the cameras of similar grade 12 | 13 | ## Board Detail 14 | ![ScreenShot](../../images/oCamS-1CGN-U_Layout.PNG) 15 | 16 | 17 | ## Specifications 18 | Type | Description | 19 | ------|------| 20 | **Sensor** | OnSemi AR0135 CMOS image sensor (1/3 inch) | 21 | **Interface** | USB 3.0 Super-Speed | 22 | **Lens** | Changeable standard M12 lens | 23 | **Supported OS** | Windows 7/8/10, Linux, Plug-and Play by UVC(USB Video Class) protocol | 24 | **Power** | USB Bus Power | 25 | **Operation Temperature** | 0°C ~ + 70°C | 26 | **Rating** | DC 5V/240mA | 27 | **Shutter** | Electric Global Shutter | 28 | **Field Of View(FOV)** | - 65 degrees at full resolution of 1280(H) x 960(V)
- FOV for the following resolutions are reduced from the full resolution image due to cropping: 1280(H) x 720(V)
- FOV for the following resolutions is maintained due to binning: 640(H) x 480(V) | 29 | **Baseline** | 120 mm | 30 | **Camera Control** | Brightness, Exposure, Color Gain(Red, Blue) | 31 | **Frame Rates** | 2560x960 @45fps, 2560x720 @60fps, 1280x480 @45fps | 32 | **Weight** | 30 gram approx. (including lens) | 33 | **Size** | 146mm x 26mm (PCB) | 34 | 35 | ![ScreenShot](../../images/oCamS-1CGN-U_poster.jpg) 36 | 37 | ## Tutorials and Applications 38 | * [oCamS-1CGN-U Tutorial - Update Firmware](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#update-firmware) 39 | * [oCamS-1CGN-U Tutorial - ROS & oCam ROS Package installation](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#ros--ocam-ros-package-installation) 40 | * [oCamS-1CGN-U Tutorial - Calibration](https://youtu.be/DPENw80cVmI) 41 | * [Simultaneous Localization and Mapping(SLAM)](https://youtu.be/czH7wOtqR20) 42 | * [Obstacle Detection](https://youtu.be/OQj6jvO9MM4) 43 | 44 | 45 | ## Softwares 46 | * [oCamS_ROS_Package](../../Software/oCamS_ROS_Package) 47 | 48 | ## Firmware 49 | * [oCamS-1CGN-U_R1707_170719.img](https://github.com/withrobot/oCamS/blob/master/Firmware/oCamS-1CGN-U_R1707_170719.img) 50 | -------------------------------------------------------------------------------- /Product/oCamS-1MGN-U/Korean/README.md: -------------------------------------------------------------------------------- 1 | # oCamS-1MGN-U - USB 3.0 스테레오 카메라 2 | ### Model No. oCamS-1MGN-U - sales website 3 | 4 | ![ScreenShot](../../../images/oCamS-1CGN-U.png) 5 | 6 | ## 특징 7 | * ROS 호환성: ROS(Robot Operating System)와 호환되므로 적은 노력으로 ROS의 풍부하고 강력한 기능을 활용할 수 있습니다. 8 | * 풍부한 데이터: 스테레오 영상 이미지와 IMU 관성센서 데이터가 같이 제공되므로 별도의 처리 없이 카메라 자세 등을 알 수 있습니다. 9 | * 유연성: 교환 가능한 표준 M12 렌즈를 제공하므로 다양한 응용분야에 적용할 수 있습니다. 10 | * 고속 전송: USB 3.0 SuperSpeed 인터페이스를 지원합니다. 11 | * 경제성: 동급 제품에 대비하여 매우 합리적인 가격으로 스테레오 영상을 제공합니다. 12 | 13 | ## Board Detail 14 | ![ScreenShot](../../../images/oCamS-1CGN-U_Layout.PNG) 15 | 16 | 17 | ## 사양 18 | Type | Description | 19 | ------|------| 20 | **센서** | OnSemi AR0135 CMOS 이미지 센서(1/3인치) | 21 | **인터페이스** | USB 3.0 Super-Speed | 22 | **렌즈** | 교환 가능한 표준 M12 렌즈 | 23 | **지원 OS** | Linux, Plug-and Play by UVC(USB Video Class) protocol | 24 | **전원 공급** | USB Bus Power | 25 | **동작 온도** | 0°C ~ + 70°C | 26 | **소모 전력** | DC 5V/240mA | 27 | **셔터** | 글로벌 셔터(Electric Global Shutter) | 28 | **Field Of View(FOV)** | - 65 degrees at full resolution of 1280(H) x 960(V)
- FOV for the following resolutions are reduced from the full resolution image due to cropping: 1280(H) x 720(V)
- FOV for the following resolutions is maintained due to binning: 640(H) x 480(V) | 29 | **제어 기능** | Brightness, Exposure | 30 | **이미지 전송률** | 2560x960 @45fps, 2560x720 @60fps, 1280x480 @45fps | 31 | **무게** | 약 30 g(렌즈 포함) | 32 | **크기** | 146mm x 26mm (PCB) | 33 | **베이스 라인** | 120 mm | 34 | 35 | ![ScreenShot](../../../images/oCamS-1CGN-U_poster.jpg) 36 | 37 | ## Tutorials and Applications 38 | * [oCamS-1MGN-U Tutorial - Update Firmware](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#update-firmware) 39 | * [oCamS-1MGN-U Tutorial - ROS & oCam ROS Package installation](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#ros--ocam-ros-package-installation) 40 | * [oCamS-1MGN-U Tutorial - How to Receive IMU data from oCamS Stereo Camera and Change the Data Format on Linux](https://youtu.be/DmM4XxV10UY) 41 | 42 | 43 | ## Softwares 44 | * [oCamS_ROS_Package](../../../Software/oCamS_ROS_Package) 45 | -------------------------------------------------------------------------------- /Product/oCamS-1MGN-U/README.md: -------------------------------------------------------------------------------- 1 | # oCamS-1MGN-U - USB 3.0 Stereo Camera - [(Korean)](Korean/README.md) 2 | ### Model No. oCamS-1MGN-U - sales website 3 | 4 | ![ScreenShot](../../images/oCamS-1CGN-U.png) 5 | 6 | ## Features 7 | * ROS Compatibility: Provides compatibility with ROS (Robot Operating System) to utilize rich and powerful functionalities of ROS 8 | * Rich Data: Provides IMU data from the built-in sensors along with stereo images, which allows development of easy and useful applications 9 | * Versatile: Provides changeable standard M12 lens 10 | * Fast: Provides up to 2560x720 60fps images through USB 3.0 SuperSpeed interface 11 | * Cost Effective: Very affordable price among the cameras of similar grade 12 | 13 | ## Board Detail 14 | ![ScreenShot](../../images/oCamS-1CGN-U_Layout.PNG) 15 | 16 | 17 | ## Specifications 18 | Type | Description | 19 | ------|------| 20 | **Sensor** | OnSemi AR0135 CMOS image sensor (1/3 inch) | 21 | **Interface** | USB 3.0 Super-Speed | 22 | **Lens** | Changeable standard M12 lens | 23 | **Supported OS** | Windows 7/8/10, Linux, Plug-and Play by UVC(USB Video Class) protocol | 24 | **Power** | USB Bus Power | 25 | **Operation Temperature** | 0°C ~ + 70°C | 26 | **Rating** | DC 5V/240mA | 27 | **Shutter** | Electric Global Shutter | 28 | **Field Of View(FOV)** | - 65 degrees at full resolution of 1280(H) x 960(V)
- FOV for the following resolutions are reduced from the full resolution image due to cropping: 1280(H) x 720(V)
- FOV for the following resolutions is maintained due to binning: 640(H) x 480(V) | 29 | **Baseline** | 120 mm | 30 | **Camera Control** | Brightness, Exposure | 31 | **Frame Rates** | 2560x960 @45fps, 2560x720 @60fps, 1280x480 @45fps | 32 | **Weight** | 30 gram approx. (including lens) | 33 | **Size** | 146mm x 26mm (PCB) | 34 | 35 | ![ScreenShot](../../images/oCamS-1CGN-U_poster.jpg) 36 | 37 | ## Tutorials and Applications 38 | * [oCamS-1MGN-U Tutorial - Update Firmware](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#update-firmware) 39 | * [oCamS-1MGN-U Tutorial - ROS & oCam ROS Package installation](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#ros--ocam-ros-package-installation) 40 | * [oCamS-1MGN-U Tutorial - How to Receive IMU data from oCamS Stereo Camera and Change the Data Format on Linux](https://youtu.be/DmM4XxV10UY) 41 | 42 | 43 | 44 | ## Softwares 45 | * [oCamS_ROS_Package](../../Software/oCamS_ROS_Package) 46 | 47 | ## Firmware 48 | * [oCamS-1CGN-U_R1707_170719.img](https://github.com/withrobot/oCamS/blob/master/Firmware/oCamS-1CGN-U_R1707_170719.img) 49 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # oCamS-1CGN-U - USB 3.0 Stereo Camera - [(Korean)](Product/oCamS-1CGN-U/Korean/README.md) 2 | ### Model No. oCamS-1CGN-U - sales website 3 | 4 | ![ScreenShot](/images/oCamS-1CGN-U.png) 5 | 6 | ## Features 7 | * ROS Compatibility: Provides compatibility with ROS (Robot Operating System) to utilize rich and powerful functionalities of ROS 8 | * Rich Data: Provides IMU data from the built-in sensors along with stereo images, which allows development of easy and useful applications 9 | * Versatile: Provides changeable standard M12 lens 10 | * Fast: Provides up to 2560x720 60fps images through USB 3.0 SuperSpeed interface 11 | * Cost Effective: Very affordable price among the cameras of similar grade 12 | 13 | ## Board Detail 14 | ![ScreenShot](images/oCamS-1CGN-U_Layout.PNG) 15 | 16 | 17 | ## Specifications 18 | Type | Description | 19 | ------|------| 20 | **Sensor** | OnSemi AR0135 CMOS image sensor (1/3 inch) | 21 | **Interface** | USB 3.0 Super-Speed | 22 | **Lens** | Changeable standard M12 lens | 23 | **Supported OS** | Linux, Plug-and Play by UVC(USB Video Class) protocol | 24 | **Power** | USB Bus Power | 25 | **Operation Temperature** | 0℃ ~ + 70℃ | 26 | **Rating** | DC 5V/240mA | 27 | **Shutter** | Electric Global Shutter | 28 | **Field Of View(FOV)** | - 65 degrees at full resolution of 1280(H) x 960(V)
- FOV for the following resolutions are reduced from the full resolution image due to cropping: 1280(H) x 720(V)
- FOV for the following resolutions is maintained due to binning: 640(H) x 480(V) | 29 | **Baseline** | 120 mm | 30 | **Camera Control** | Brightness, Exposure, Color Gain(Red, Blue) | 31 | **Frame Rates** | 2560x960 @45fps, 2560x720 @60fps, 1280x480 @45fps | 32 | **Weight** | 30 gram approx. (including lens) | 33 | **Size** | 146mm x 26mm (PCB) | 34 | 35 | ![ScreenShot](images/oCamS-1CGN-U_poster.jpg) 36 | 37 | ## Tutorials and Applications 38 | * [oCamS-1CGN-U Tutorial - Update Firmware](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#update-firmware) 39 | * [oCamS-1CGN-U Tutorial - ROS & oCam ROS Package installation](https://github.com/withrobot/oCamS/blob/master/Software/oCamS_ROS_Package/README.md#ros--ocam-ros-package-installation) 40 | * [oCamS-1CGN-U Tutorial - Calibration](https://youtu.be/DPENw80cVmI) 41 | * [Simultaneous Localization and Mapping(SLAM)](https://youtu.be/czH7wOtqR20) 42 | * [Obstacle Detection](https://youtu.be/OQj6jvO9MM4) 43 | 44 | 45 | ## Softwares 46 | * [oCamS_ROS_Package](Software/oCamS_ROS_Package) 47 | 48 | ## Firmware 49 | * [oCamS-1CGN-U-R1811.img](https://github.com/withrobot/oCamS/blob/master/Firmware/oCamS-1CGN-U-R1811.img) 50 | -------------------------------------------------------------------------------- /Software/README.md: -------------------------------------------------------------------------------- 1 | # oCam Stereo ROS package 2 | 3 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(ocams_1cgn) 3 | 4 | add_definitions(-std=c++11) 5 | #set(CMAKE_CXX_FLAGS "-std=c++11 -O2 ${CMAKE_CXX_FLAGS}") 6 | 7 | find_package(catkin REQUIRED 8 | COMPONENTS 9 | roscpp 10 | std_msgs 11 | image_transport 12 | image_geometry 13 | camera_info_manager 14 | sensor_msgs 15 | tf 16 | dynamic_reconfigure 17 | ) 18 | 19 | generate_dynamic_reconfigure_options( 20 | cfg/cam.cfg 21 | ) 22 | 23 | catkin_package( 24 | INCLUDE_DIRS include 25 | CATKIN_DEPENDS 26 | roscpp 27 | std_msgs 28 | image_transport 29 | image_geometry 30 | camera_info_manager 31 | sensor_msgs 32 | tf 33 | dynamic_reconfigure 34 | ) 35 | 36 | find_package(Boost REQUIRED COMPONENTS system) 37 | find_package(OpenCV REQUIRED) 38 | 39 | include_directories( 40 | include 41 | ${catkin_INCLUDE_DIRS} 42 | ${OpenCV_INCLUDE_DIRS} 43 | ) 44 | 45 | add_executable(ocams_1cgn src/oCamS.cpp src/withrobot_camera.cpp src/withrobot_utility.cpp) 46 | target_link_libraries(ocams_1cgn ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${OpenCV_LIBS} -lv4l2 -ludev) 47 | add_dependencies(ocams_1cgn ${PROJECT_NAME}_gencfg) 48 | 49 | ############################################################################### 50 | 51 | #Add all files in subdirectories of the project in 52 | # a dummy_target so qtcreator have access to all files 53 | FILE(GLOB_RECURSE extra_files ${CMAKE_SOURCE_DIR}/*) 54 | add_custom_target(dummy_${PROJECT_NAME} SOURCES ${extra_files}) 55 | 56 | ############################################################################### 57 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/config/left.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 480 3 | camera_name: narrow_stereo/left 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [485.833681, 0.000000, 316.177018, 0.000000, 483.854650, 235.340274, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.420543, 0.167051, 0.000454, -0.000487, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.999992, -0.001064, -0.003882, 0.001089, 0.999978, 0.006523, 0.003874, -0.006527, 0.999971] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [452.149831, 0.000000, 322.341717, 0.000000, 0.000000, 452.149831, 242.532890, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/config/right.yaml: -------------------------------------------------------------------------------- 1 | image_width: 640 2 | image_height: 480 3 | camera_name: narrow_stereo/right 4 | camera_matrix: 5 | rows: 3 6 | cols: 3 7 | data: [485.458490, 0.000000, 322.487267, 0.000000, 483.660990, 249.051639, 0.000000, 0.000000, 1.000000] 8 | distortion_model: plumb_bob 9 | distortion_coefficients: 10 | rows: 1 11 | cols: 5 12 | data: [-0.415869, 0.160701, 0.000180, 0.000888, 0.000000] 13 | rectification_matrix: 14 | rows: 3 15 | cols: 3 16 | data: [0.999979, -0.004349, -0.004734, 0.004318, 0.999969, -0.006535, 0.004762, 0.006515, 0.999967] 17 | projection_matrix: 18 | rows: 3 19 | cols: 4 20 | data: [452.149831, 0.000000, 322.341717, -54.153807, 0.000000, 452.149831, 242.532890, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] 21 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/launch/calibration.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/launch/disparity.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/launch/obstacles_detection.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/launch/ocams_ros.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 33 | 35 | 36 | 38 | 39 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/launch/pointcloud.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /Software/oCamS_ROS_Package/ocams_1cgn/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | ocams_1cgn 4 | 0.0.2 5 | The oCamS-1CGN-U package 6 | 7 | Withrobot 8 | 9 | BSD 10 | 11 | https://github.com/withrobot/oCamS 12 | 13 | Withrobot 14 | 15 | catkin 16 | 17 | camera_info_manager 18 | image_transport 19 | roscpp 20 | std_msgs 21 | sensor_msgs 22 | tf 23 | dynamic_reconfigure 24 | image_geometry 25 | 26 | camera_info_manager 27 | image_transport 28 | roscpp 29 | std_msgs 30 | sensor_msgs 31 | tf 32 | dynamic_reconfigure 33 | image_geometry 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /images/1_Run_UpdateFW.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/1_Run_UpdateFW.jpg -------------------------------------------------------------------------------- /images/2_device_change.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/2_device_change.jpg -------------------------------------------------------------------------------- /images/3_driver_setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/3_driver_setup.jpg -------------------------------------------------------------------------------- /images/4_UpdateFW.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/4_UpdateFW.jpg -------------------------------------------------------------------------------- /images/5_Firmware_Update.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/5_Firmware_Update.JPG -------------------------------------------------------------------------------- /images/oCamS-1CGN-U.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/oCamS-1CGN-U.png -------------------------------------------------------------------------------- /images/oCamS-1CGN-U_Layout.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/oCamS-1CGN-U_Layout.PNG -------------------------------------------------------------------------------- /images/oCamS-1CGN-U_poster.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/withrobot/oCamS/c328f851a7c58d2f7f9b8de474639f87118e2082/images/oCamS-1CGN-U_poster.jpg --------------------------------------------------------------------------------