gitextract_zblrltlp/ ├── .gitignore ├── .gitmodules ├── LICENSE ├── LegoCV/ │ ├── FaceDetection/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── Recognition/ │ │ │ ├── FaceDetector.swift │ │ │ └── FaceRecognizer.swift │ │ └── View Controllers/ │ │ ├── FaceRecognitionVC.swift │ │ └── LiveCameraVC.swift │ ├── LegoCV/ │ │ ├── Info.plist │ │ ├── LegoCV.h │ │ └── Wrapper/ │ │ ├── Aruco/ │ │ │ ├── OCVCharucoBoard.h │ │ │ └── OCVCharucoBoard.m │ │ ├── BgSegm/ │ │ │ ├── OCVBackgroundSubtractorGMG.h │ │ │ ├── OCVBackgroundSubtractorGMG.m │ │ │ ├── OCVBackgroundSubtractorMOG.h │ │ │ └── OCVBackgroundSubtractorMOG.m │ │ ├── Core/ │ │ │ ├── Algorithms/ │ │ │ │ ├── OCVLDA.h │ │ │ │ ├── OCVLDA.mm │ │ │ │ ├── OCVPCA.h │ │ │ │ ├── OCVPCA.mm │ │ │ │ ├── OCVRandomGenerator.h │ │ │ │ ├── OCVRandomGenerator.mm │ │ │ │ ├── OCVSVD.h │ │ │ │ └── OCVSVD.mm │ │ │ ├── Base/ │ │ │ │ ├── OCVAlgorithm.h │ │ │ │ ├── OCVAlgorithm.m │ │ │ │ ├── OCVArrayables.h │ │ │ │ ├── OCVComplex.h │ │ │ │ ├── OCVComplex.m │ │ │ │ ├── OCVEdges.h │ │ │ │ ├── OCVFormatter.h │ │ │ │ ├── OCVFormatter.m │ │ │ │ ├── OCVGeometry.h │ │ │ │ ├── OCVInputArray.h │ │ │ │ ├── OCVInputArray.mm │ │ │ │ ├── OCVInputArrayable.h │ │ │ │ ├── OCVInputOutputArray.h │ │ │ │ ├── OCVInputOutputArray.mm │ │ │ │ ├── OCVInputOutputArrayable.h │ │ │ │ ├── OCVOutputArray.h │ │ │ │ ├── OCVOutputArray.mm │ │ │ │ ├── OCVOutputArrayable.h │ │ │ │ ├── OCVPoint.h │ │ │ │ ├── OCVRect.h │ │ │ │ ├── OCVRect.m │ │ │ │ ├── OCVScalar.h │ │ │ │ ├── OCVScalar.m │ │ │ │ ├── OCVSize.h │ │ │ │ ├── OCVTypes.h │ │ │ │ ├── OCVVector.h │ │ │ │ └── OCVVector.m │ │ │ ├── Mat/ │ │ │ │ ├── OCVMat.h │ │ │ │ ├── OCVMat.mm │ │ │ │ ├── OCVMatDataAllocator.h │ │ │ │ ├── OCVMatDataAllocator.mm │ │ │ │ ├── OCVMatExpr.h │ │ │ │ ├── OCVMatExpr.mm │ │ │ │ ├── OCVUMat.h │ │ │ │ └── OCVUMat.m │ │ │ ├── OCVCore.h │ │ │ ├── Operations/ │ │ │ │ ├── OCVMinimumMaximum.h │ │ │ │ ├── OCVMinimumMaximum.m │ │ │ │ ├── OCVOperation+Bitwise.h │ │ │ │ ├── OCVOperation+Bitwise.mm │ │ │ │ ├── OCVOperation+Transform.h │ │ │ │ ├── OCVOperation+Transform.mm │ │ │ │ ├── OCVOperation.h │ │ │ │ ├── OCVOperation.mm │ │ │ │ ├── OCVTermCriteria.h │ │ │ │ └── OCVTermCriteria.m │ │ │ ├── Persistence/ │ │ │ │ ├── OCVFileNode.h │ │ │ │ ├── OCVFileNode.mm │ │ │ │ ├── OCVFileStorage.h │ │ │ │ ├── OCVFileStorage.mm │ │ │ │ ├── OCVFileStorageFormatDescriptor.h │ │ │ │ ├── OCVFileStorageFormatDescriptor.m │ │ │ │ ├── OCVPersistence.h │ │ │ │ └── OCVSerializable.h │ │ │ └── Private/ │ │ │ ├── OCVGeometry+Private.h │ │ │ ├── OCVInputArray+Private.h │ │ │ ├── OCVInputOutputArray+Private.h │ │ │ ├── OCVMatDataAllocator+Private.h │ │ │ ├── OCVOutputArray+Private.h │ │ │ ├── OCVPoint+Private.h │ │ │ ├── OCVPoint+Private.mm │ │ │ ├── OCVRect+Private.h │ │ │ ├── OCVRect+Private.mm │ │ │ ├── OCVSize+Private.h │ │ │ └── OCVSize+Private.mm │ │ ├── Cuda/ │ │ │ ├── OCVGPUMat.h │ │ │ └── OCVGPUMat.m │ │ ├── CvEnum/ │ │ │ ├── OCVStorageOperationType.h │ │ │ └── OCVStorageOperationType.m │ │ ├── Cvb/ │ │ │ ├── OCVBlob.h │ │ │ └── OCVBlob.m │ │ ├── Dnn/ │ │ │ ├── OCVImporter.h │ │ │ ├── OCVImporter.m │ │ │ ├── OCVNet.h │ │ │ └── OCVNet.m │ │ ├── Face/ │ │ │ ├── OCVEigenFaceRecognizer.h │ │ │ ├── OCVEigenFaceRecognizer.m │ │ │ ├── OCVFaceRecognizer.h │ │ │ ├── OCVFaceRecognizer.m │ │ │ ├── OCVFisherFaceRecognizer.h │ │ │ ├── OCVFisherFaceRecognizer.m │ │ │ ├── OCVLBPHFaceRecognizer.h │ │ │ └── OCVLBPHFaceRecognizer.m │ │ ├── Features2D/ │ │ │ ├── OCVFeature2D.h │ │ │ └── OCVFeature2D.m │ │ ├── Flann/ │ │ │ ├── OCVIndex.h │ │ │ └── OCVIndex.m │ │ ├── Fuzzy/ │ │ │ ├── OCVFuzzyInvoke.h │ │ │ └── OCVFuzzyInvoke.m │ │ ├── Geodetic/ │ │ │ ├── OCVGeodeticCoordinate.h │ │ │ └── OCVGeodeticCoordinate.m │ │ ├── ImageProcessing/ │ │ │ ├── OCVColorConversionType.h │ │ │ ├── OCVContrastLimitedAdaptiveHistogramEqualization.h │ │ │ ├── OCVContrastLimitedAdaptiveHistogramEqualization.m │ │ │ ├── OCVGeneralizedHough.h │ │ │ ├── OCVGeneralizedHough.m │ │ │ ├── OCVGeneralizedHoughBallard.h │ │ │ ├── OCVGeneralizedHoughBallard.m │ │ │ ├── OCVGeneralizedHoughGuil.h │ │ │ ├── OCVGeneralizedHoughGuil.m │ │ │ ├── OCVImage.h │ │ │ ├── OCVImage.m │ │ │ ├── OCVImageOperation.h │ │ │ ├── OCVImageOperation.mm │ │ │ ├── OCVImageProcessing.h │ │ │ ├── OCVImageTypes.h │ │ │ ├── OCVInterpolationType.h │ │ │ ├── OCVLineSegmentDetector.h │ │ │ ├── OCVLineSegmentDetector.m │ │ │ ├── OCVSubdiv2D.h │ │ │ └── OCVSubdiv2D.m │ │ ├── LineDescriptor/ │ │ │ ├── OCVLSDDetector.h │ │ │ └── OCVLSDDetector.m │ │ ├── ML/ │ │ │ ├── Enum/ │ │ │ │ ├── OCVBoostType.h │ │ │ │ ├── OCVBoostType.m │ │ │ │ ├── OCVVarType.h │ │ │ │ └── OCVVarType.m │ │ │ ├── OCVANNMLP.h │ │ │ ├── OCVANNMLP.m │ │ │ ├── OCVBoost.h │ │ │ ├── OCVBoost.m │ │ │ ├── OCVDTree.h │ │ │ ├── OCVDTree.m │ │ │ ├── OCVEM.h │ │ │ ├── OCVEM.m │ │ │ ├── OCVKNearest.h │ │ │ ├── OCVKNearest.m │ │ │ ├── OCVLogisticRegression.h │ │ │ ├── OCVLogisticRegression.m │ │ │ ├── OCVNormalBayesClassifier.h │ │ │ ├── OCVNormalBayesClassifier.m │ │ │ ├── OCVRTree.h │ │ │ ├── OCVRTree.m │ │ │ ├── OCVSVM.h │ │ │ ├── OCVSVM.m │ │ │ ├── OCVStatModelExtensions.h │ │ │ ├── OCVStatModelExtensions.m │ │ │ ├── OCVTrainData.h │ │ │ ├── OCVTrainData.m │ │ │ └── Structure/ │ │ │ ├── OCVMCvDTreeNode.h │ │ │ ├── OCVMCvDTreeNode.m │ │ │ ├── OCVMCvDTreeSplit.h │ │ │ ├── OCVMCvDTreeSplit.m │ │ │ ├── OCVMCvDTreeSplitMOrder.h │ │ │ ├── OCVMCvDTreeSplitMOrder.m │ │ │ ├── OCVMCvParamGrid.h │ │ │ └── OCVMCvParamGrid.m │ │ ├── OCR/ │ │ │ ├── OCVOrientation.h │ │ │ ├── OCVOrientation.m │ │ │ ├── OCVPageIterator.h │ │ │ ├── OCVPageIterator.m │ │ │ ├── OCVTesseract.h │ │ │ ├── OCVTesseract.m │ │ │ ├── OCVTesseractResult.h │ │ │ └── OCVTesseractResult.m │ │ ├── ObjectDetection/ │ │ │ ├── OCVBaseCascadeClassifier.h │ │ │ ├── OCVBaseCascadeClassifier.m │ │ │ ├── OCVCascadeClassifier.h │ │ │ ├── OCVCascadeClassifier.mm │ │ │ ├── OCVCascadeClassifierOptions.h │ │ │ ├── OCVCascadeClassifierOptions.m │ │ │ ├── OCVCascadeClassifierResult.h │ │ │ └── OCVCascadeClassifierResult.m │ │ ├── Ocl/ │ │ │ ├── OCVDevice.h │ │ │ ├── OCVDevice.m │ │ │ ├── OCVImage2D.h │ │ │ ├── OCVImage2D.m │ │ │ ├── OCVKernel.h │ │ │ ├── OCVKernel.m │ │ │ ├── OCVKernelConfiguration.h │ │ │ ├── OCVKernelConfiguration.m │ │ │ ├── OCVPlatformInfo.h │ │ │ ├── OCVPlatformInfo.m │ │ │ ├── OCVProgramSource.h │ │ │ ├── OCVProgramSource.m │ │ │ ├── OCVQueue.h │ │ │ └── OCVQueue.m │ │ ├── Plot/ │ │ │ ├── OCVPlot.h │ │ │ └── OCVPlot.m │ │ ├── Reflection/ │ │ │ ├── OCVReflectImage.h │ │ │ └── OCVReflectImage.m │ │ ├── Shape/ │ │ │ ├── OCVAffineTransformer.h │ │ │ ├── OCVAffineTransformer.m │ │ │ ├── OCVChiHistogramCostExtractor.h │ │ │ ├── OCVChiHistogramCostExtractor.m │ │ │ ├── OCVEMDHistogramCostExtractor.h │ │ │ ├── OCVEMDHistogramCostExtractor.m │ │ │ ├── OCVEMDL1HistogramCostExtractor.h │ │ │ ├── OCVEMDL1HistogramCostExtractor.m │ │ │ ├── OCVHausdorffDistanceExtractor.h │ │ │ ├── OCVHausdorffDistanceExtractor.m │ │ │ ├── OCVHistogramCostExtractor.h │ │ │ ├── OCVHistogramCostExtractor.m │ │ │ ├── OCVNormHistogramCostExtractor.h │ │ │ ├── OCVNormHistogramCostExtractor.m │ │ │ ├── OCVShapeContextDistanceExtractor.h │ │ │ ├── OCVShapeContextDistanceExtractor.m │ │ │ ├── OCVShapeDistanceExtractor.h │ │ │ ├── OCVShapeDistanceExtractor.m │ │ │ ├── OCVThinPlateSplineShapeTransformer.h │ │ │ └── OCVThinPlateSplineShapeTransformer.m │ │ ├── Stitching/ │ │ │ ├── OCVCompressedRectilinearWarper.h │ │ │ ├── OCVCompressedRectilinearWarper.m │ │ │ ├── OCVFeaturesFinder.h │ │ │ ├── OCVFeaturesFinder.m │ │ │ ├── OCVFisheyeWarper.h │ │ │ ├── OCVFisheyeWarper.m │ │ │ ├── OCVMercatorWarper.h │ │ │ ├── OCVMercatorWarper.m │ │ │ ├── OCVOrbFeaturesFinder.h │ │ │ ├── OCVOrbFeaturesFinder.m │ │ │ ├── OCVPaniniPortraitWarper.h │ │ │ ├── OCVPaniniPortraitWarper.m │ │ │ ├── OCVPaniniWarper.h │ │ │ ├── OCVPaniniWarper.m │ │ │ ├── OCVPlaneWarper.h │ │ │ ├── OCVPlaneWarper.m │ │ │ ├── OCVSphericalWarper.h │ │ │ ├── OCVSphericalWarper.m │ │ │ ├── OCVStereographicWarper.h │ │ │ ├── OCVStereographicWarper.m │ │ │ ├── OCVSticher.h │ │ │ ├── OCVSticher.m │ │ │ ├── OCVTransverseMercatorWarper.h │ │ │ ├── OCVTransverseMercatorWarper.m │ │ │ ├── OCVWarperCreator.h │ │ │ └── OCVWarperCreator.m │ │ ├── Structure/ │ │ │ ├── OCVRgb.h │ │ │ ├── OCVRgb.m │ │ │ ├── OCVRgba.h │ │ │ └── OCVRgba.m │ │ ├── Superres/ │ │ │ ├── OCVFrameSource.h │ │ │ ├── OCVFrameSource.m │ │ │ ├── OCVSuperResolution.h │ │ │ └── OCVSuperResolution.m │ │ ├── Text/ │ │ │ ├── OCVERFilter.h │ │ │ ├── OCVERFilter.m │ │ │ ├── OCVERFilterNM1.h │ │ │ ├── OCVERFilterNM1.m │ │ │ ├── OCVERFilterNM2.h │ │ │ ├── OCVERFilterNM2.m │ │ │ ├── OCVERStat.h │ │ │ └── OCVERStat.m │ │ ├── Tiff/ │ │ │ ├── OCVTiffWriter.h │ │ │ ├── OCVTiffWriter.m │ │ │ ├── OCVTileTiffWriter.h │ │ │ └── OCVTileTiffWriter.m │ │ ├── Tracking/ │ │ │ ├── OCVMultiTracker.h │ │ │ ├── OCVMultiTracker.m │ │ │ ├── OCVTracker.h │ │ │ └── OCVTracker.m │ │ ├── UI/ │ │ │ ├── OCVHistogramBox.h │ │ │ ├── OCVHistogramBox.m │ │ │ ├── OCVHistogramViewer.h │ │ │ └── OCVHistogramViewer.m │ │ ├── Utilities/ │ │ │ ├── OCVObject.h │ │ │ ├── OCVObject.m │ │ │ ├── OCVPointerObject.h │ │ │ ├── OCVPointerObject.m │ │ │ ├── OCVReferenceObject.h │ │ │ └── OCVReferenceObject.m │ │ ├── Video/ │ │ │ ├── OCVCamera+Private.h │ │ │ ├── OCVCamera.h │ │ │ ├── OCVCamera.mm │ │ │ ├── OCVPhotoCamera.h │ │ │ ├── OCVPhotoCamera.mm │ │ │ ├── OCVVideo.h │ │ │ ├── OCVVideoCamera.h │ │ │ └── OCVVideoCamera.mm │ │ ├── VideoStab/ │ │ │ ├── OCVGaussianMotionFilter.h │ │ │ ├── OCVGaussianMotionFilter.m │ │ │ ├── OCVOnePassStabilizer.h │ │ │ ├── OCVOnePassStabilizer.m │ │ │ ├── OCVTwoPassStabilizer.h │ │ │ ├── OCVTwoPassStabilizer.m │ │ │ ├── OCVVideoCaptureFrameSource.h │ │ │ ├── OCVVideoCaptureFrameSource.m │ │ │ ├── OCVVideoFrameSource.h │ │ │ └── OCVVideoFrameSource.m │ │ ├── VideoSurveillance/ │ │ │ ├── OCVBackgroundSubtractor.h │ │ │ ├── OCVBackgroundSubtractor.m │ │ │ ├── OCVBackgroundSubtractorKNN.h │ │ │ ├── OCVBackgroundSubtractorKNN.m │ │ │ ├── OCVBackgroundSubtractorMOG2.h │ │ │ └── OCVBackgroundSubtractorMOG2.m │ │ ├── XFeatures2D/ │ │ │ ├── OCVBriefDescriptorExtractor.h │ │ │ ├── OCVBriefDescriptorExtractor.m │ │ │ ├── OCVCudaSURF.h │ │ │ ├── OCVCudaSURF.m │ │ │ ├── OCVDAISY.h │ │ │ ├── OCVDAISY.m │ │ │ ├── OCVFreak.h │ │ │ ├── OCVFreak.m │ │ │ ├── OCVLATCH.h │ │ │ ├── OCVLATCH.m │ │ │ ├── OCVLUCID.h │ │ │ ├── OCVLUCID.m │ │ │ ├── OCVSIFT.h │ │ │ ├── OCVSIFT.m │ │ │ ├── OCVSURF.h │ │ │ ├── OCVSURF.m │ │ │ ├── OCVStarDetector.h │ │ │ └── OCVStarDetector.m │ │ ├── XImgproc/ │ │ │ ├── OCVDTFilter.h │ │ │ └── OCVDTFilter.m │ │ └── XPhoto/ │ │ ├── OCVXPhoto.h │ │ └── OCVXPhoto.m │ ├── LegoCV.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── LegoCV.xcscheme │ │ └── LegoSwiftCV.xcscheme │ ├── LegoCVTests/ │ │ ├── Info.plist │ │ └── LegoCVTests.swift │ ├── LegoSwiftCV/ │ │ ├── Core/ │ │ │ └── Matrix.swift │ │ ├── Info.plist │ │ └── LegoSwiftCV.h │ ├── LegoSwiftCVTests/ │ │ ├── Info.plist │ │ └── LegoSwiftCVTests.swift │ └── Playgrounds/ │ └── MatrixOperations.playground/ │ ├── Contents.swift │ └── contents.xcplayground ├── LegoCV.podspec └── README.md