public virtual void extract(Image image, KeypointArray keypoints, DescriptorBuffer descriptors) { solar_api_featuresPINVOKE.IDescriptorsExtractor_extract(swigCPtr, Image.getCPtr(image), KeypointArray.getCPtr(keypoints), DescriptorBuffer.getCPtr(descriptors)); if (solar_api_featuresPINVOKE.SWIGPendingException.Pending) { throw solar_api_featuresPINVOKE.SWIGPendingException.Retrieve(); } }
public virtual IDescriptorMatcher.RetCode match(DescriptorBuffer descriptors1, DescriptorBufferList descriptors2, DescriptorMatchVector matches) { IDescriptorMatcher.RetCode ret = (IDescriptorMatcher.RetCode)solar_api_featuresPINVOKE.IDescriptorMatcher_match__SWIG_1(swigCPtr, DescriptorBuffer.getCPtr(descriptors1), DescriptorBufferList.getCPtr(descriptors2), DescriptorMatchVector.getCPtr(matches)); if (solar_api_featuresPINVOKE.SWIGPendingException.Pending) { throw solar_api_featuresPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public virtual FrameworkReturnCode match(IntVector indexDescriptors, DescriptorBuffer descriptors, int indexKeyframe, DescriptorMatchVector matches) { FrameworkReturnCode ret = (FrameworkReturnCode)solar_api_relocPINVOKE.IKeyframeRetriever_match__SWIG_1(swigCPtr, IntVector.getCPtr(indexDescriptors), DescriptorBuffer.getCPtr(descriptors), indexKeyframe, DescriptorMatchVector.getCPtr(matches)); if (solar_api_relocPINVOKE.SWIGPendingException.Pending) { throw solar_api_relocPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public virtual FrameworkReturnCode extract(SquaredBinaryPattern pattern, DescriptorBuffer descriptor) { FrameworkReturnCode ret = (FrameworkReturnCode)solar_api_featuresPINVOKE.IDescriptorsExtractorSBPattern_extract__SWIG_1(swigCPtr, SquaredBinaryPattern.getCPtr(pattern), DescriptorBuffer.getCPtr(descriptor)); if (solar_api_featuresPINVOKE.SWIGPendingException.Pending) { throw solar_api_featuresPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public static DescriptorBufferIterator end(DescriptorBuffer ref_) { DescriptorBufferIterator ret = new DescriptorBufferIterator(solar_datastructurePINVOKE.end(DescriptorBuffer.getCPtr(ref_)), true); if (solar_datastructurePINVOKE.SWIGPendingException.Pending) { throw solar_datastructurePINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public virtual FrameworkReturnCode extract(ImageList images, Contour2DfArray inContours, DescriptorBuffer descriptors, Contour2DfArray outContours) { FrameworkReturnCode ret = (FrameworkReturnCode)solar_api_featuresPINVOKE.IDescriptorsExtractorSBPattern_extract__SWIG_0(swigCPtr, ImageList.getCPtr(images), Contour2DfArray.getCPtr(inContours), DescriptorBuffer.getCPtr(descriptors), Contour2DfArray.getCPtr(outContours)); if (solar_api_featuresPINVOKE.SWIGPendingException.Pending) { throw solar_api_featuresPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public virtual double triangulate(KeypointArray keypointsView1, KeypointArray keypointsView2, DescriptorBuffer descriptor1, DescriptorBuffer descriptor2, DescriptorMatchVector matches, PairUIntUInt working_views, Transform3Df poseView1, Transform3Df poseView2, CloudPointVector pcloud) { double ret = solar_api_solver_mapPINVOKE.ITriangulator_triangulate__SWIG_2(swigCPtr, KeypointArray.getCPtr(keypointsView1), KeypointArray.getCPtr(keypointsView2), DescriptorBuffer.getCPtr(descriptor1), DescriptorBuffer.getCPtr(descriptor2), DescriptorMatchVector.getCPtr(matches), PairUIntUInt.getCPtr(working_views), Transform3Df.getCPtr(poseView1), Transform3Df.getCPtr(poseView2), CloudPointVector.getCPtr(pcloud)); if (solar_api_solver_mapPINVOKE.SWIGPendingException.Pending) { throw solar_api_solver_mapPINVOKE.SWIGPendingException.Retrieve(); } return(ret); }
public FiducialPipeline(IComponentManager xpcfComponentManager) : base(xpcfComponentManager) { binaryMarker = Create <IMarker2DSquaredBinary>("SolARMarker2DSquaredBinaryOpencv"); #if !NDEBUG imageViewer = Create <IImageViewer>("SolARImageViewerOpencv"); imageViewerGrey = Create <IImageViewer>("SolARImageViewerOpencv", "grey"); imageViewerBinary = Create <IImageViewer>("SolARImageViewerOpencv", "binary"); imageViewerContours = Create <IImageViewer>("SolARImageViewerOpencv", "contours"); imageViewerFilteredContours = Create <IImageViewer>("SolARImageViewerOpencv", "filteredContours"); #endif overlay3DComponent = Create <I3DOverlay>("SolAR3DOverlayOpencv"); imageFilterBinary = Create <IImageFilter>("SolARImageFilterBinaryOpencv"); imageConvertor = Create <IImageConvertor>("SolARImageConvertorOpencv"); contoursExtractor = Create <IContoursExtractor>("SolARContoursExtractorOpencv"); contoursFilter = Create <IContoursFilter>("SolARContoursFilterBinaryMarkerOpencv"); perspectiveController = Create <IPerspectiveController>("SolARPerspectiveControllerOpencv"); patternDescriptorExtractor = Create <IDescriptorsExtractorSBPattern>("SolARDescriptorsExtractorSBPatternOpencv"); patternMatcher = Create <IDescriptorMatcher>("SolARDescriptorMatcherRadiusOpencv"); patternReIndexer = Create <ISBPatternReIndexer>("SolARSBPatternReIndexer"); img2worldMapper = Create <IImage2WorldMapper>("SolARImage2WorldMapper4Marker2D"); PnP = Create <I3DTransformFinderFrom2D3D>("SolARPoseEstimationPnpOpencv"); #if !NDEBUG overlay2DContours = Create <I2DOverlay>("SolAR2DOverlayOpencv", "contours"); overlay2DCircles = Create <I2DOverlay>("SolAR2DOverlayOpencv", "circles"); #endif greyImage = SharedPtr.Alloc <Image>().AddTo(subscriptions); binaryImage = SharedPtr.Alloc <Image>().AddTo(subscriptions); contours = new Contour2DfArray().AddTo(subscriptions); filtered_contours = new Contour2DfArray().AddTo(subscriptions); patches = new ImageList().AddTo(subscriptions); recognizedContours = new Contour2DfArray().AddTo(subscriptions); recognizedPatternsDescriptors = new DescriptorBuffer().AddTo(subscriptions); markerPatternDescriptor = new DescriptorBuffer().AddTo(subscriptions); patternMatches = new DescriptorMatchVector().AddTo(subscriptions); pattern2DPoints = new Point2DfArray().AddTo(subscriptions); img2DPoints = new Point2DfArray().AddTo(subscriptions); pattern3DPoints = new Point3DfArray().AddTo(subscriptions); //CamCalibration K; // components initialisation binaryMarker.loadMarker().Check(); patternDescriptorExtractor.extract(binaryMarker.getPattern(), markerPatternDescriptor).Check(); var binaryMarkerSize = binaryMarker.getSize(); var patternSize = binaryMarker.getPattern().getSize(); patternDescriptorExtractor.BindTo <IConfigurable>().getProperty("patternSize").setIntegerValue(patternSize); patternReIndexer.BindTo <IConfigurable>().getProperty("sbPatternSize").setIntegerValue(patternSize); // NOT WORKING ! initialize image mapper with the reference image size and marker size var img2worldMapperConf = img2worldMapper.BindTo <IConfigurable>(); img2worldMapperConf.getProperty("digitalWidth").setIntegerValue(patternSize); img2worldMapperConf.getProperty("digitalHeight").setIntegerValue(patternSize); img2worldMapperConf.getProperty("worldWidth").setFloatingValue(binaryMarkerSize.width); img2worldMapperConf.getProperty("worldHeight").setFloatingValue(binaryMarkerSize.height); }