You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audit of the photo, text, saliency, shape, and superres (opencv_contrib) OpenCV 5.x C++ API surface against the current OpenCvSharp C# wrapper. Part of a broader coverage sweep that started from closing the geometry/segment.hpp gap (#2000/#2001).
Baseline: opencv_contrib @ 755e506 (pinned submodule commit on main).
Gaps by module
photo — one whole header unwrapped (1 item)
ColorCorrectionModel + 6 supporting enums + gammaCorrection free function (ccm.hpp:26-144) — color calibration model (CCM); entire header unwrapped — large
text — Tesseract OCR and CNN text detection work today; the ER-filter region pipeline and HMM/beam-search decoders (non-Tesseract paths) are entirely unwrapped — roughly 85% of the module's surface by item count (2 items)
Non-Tesseract OCR decoders (ocr.hpp:67-537): OCRHMMDecoder + ClassifierCallback, OCRBeamSearchDecoder + ClassifierCallback, OCRHolisticWordRecognizer, plus loaders (loadOCRHMMClassifierNM/CNN/generic, createOCRHMMTransitionsTable, loadOCRBeamSearchClassifierCNN) and enums (page_seg_mode, ocr_engine_mode, decoder_mode, classifier_type) — large
saliency / shape / superres — all three are essentially done; trivial gaps only (3 items)
StaticSaliencySpectralResidual.Read/Write (saliencySpecializedClasses.hpp:89,90) — serialize/deserialize algorithm state for persistence — small
ShapeContextDistanceExtractor.GetCostExtractor/GetTransformAlgorithm (shape_distance.hpp:167,182) — setters exist, getters don't (native+C#) — small
SuperResolution.OpticalFlow property (superres.hpp:163-165) — native bridge and P/Invoke already exist; the C# property body is just commented out as TODO in SuperResolution.cs:307-325 — trivial, uncomment + wire up
ximgproc — 25 of ~31 sub-headers are fully wrapped; the remaining six are whole unwrapped headers (6 items)
ContourFitting + fourierDescriptor/transformFD/contourSampling (fourier_descriptors.hpp:20,87,97,106,114) — Fourier-descriptor contour fitting/matching — medium
findEllipses (find_ellipses.hpp:30) — AAMED ellipse detection — small
RadonTransform (radon_transform.hpp:31) — Radon transform of an image (don't confuse with the already-wrapped HoughPoint2Line) — small
Fully covered, no action needed
ptcloud, quality, xphoto, dnn_superres — verified with zero findings across their full CV_EXPORTS_W/CV_WRAP surface.
Notes
Effort tags: small = a native bridge function/property + thin C# wrapper; medium = a small class or multi-member accessor set; large = a substantial class or multi-class family.
Summary
Audit of the
photo,text,saliency,shape, andsuperres(opencv_contrib) OpenCV 5.x C++ API surface against the current OpenCvSharp C# wrapper. Part of a broader coverage sweep that started from closing thegeometry/segment.hppgap (#2000/#2001).Baseline:
opencv_contrib@755e506(pinned submodule commit onmain).Gaps by module
photo — one whole header unwrapped (1 item)
ColorCorrectionModel+ 6 supporting enums +gammaCorrectionfree function (ccm.hpp:26-144) — color calibration model (CCM); entire header unwrapped — largetext — Tesseract OCR and CNN text detection work today; the ER-filter region pipeline and HMM/beam-search decoders (non-Tesseract paths) are entirely unwrapped — roughly 85% of the module's surface by item count (2 items)
Confirmed already covered:
BaseOCR,OCRTesseract,TextDetector,TextDetectorCNN,detectTextSWT.erfilter.hpp:66-367):ERStat,ERFilter+Callback,createERFilterNM1/NM2,loadClassifierNM1/NM2,ERFILTER_NM_RGBLGrad/IHSGradenum,computeNMChannels,erGrouping_Modesenum,erGrouping,MSERsToERStats,detectRegions— largeocr.hpp:67-537):OCRHMMDecoder+ClassifierCallback,OCRBeamSearchDecoder+ClassifierCallback,OCRHolisticWordRecognizer, plus loaders (loadOCRHMMClassifierNM/CNN/generic,createOCRHMMTransitionsTable,loadOCRBeamSearchClassifierCNN) and enums (page_seg_mode,ocr_engine_mode,decoder_mode,classifier_type) — largesaliency / shape / superres — all three are essentially done; trivial gaps only (3 items)
StaticSaliencySpectralResidual.Read/Write(saliencySpecializedClasses.hpp:89,90) — serialize/deserialize algorithm state for persistence — smallShapeContextDistanceExtractor.GetCostExtractor/GetTransformAlgorithm(shape_distance.hpp:167,182) — setters exist, getters don't (native+C#) — smallSuperResolution.OpticalFlowproperty (superres.hpp:163-165) — native bridge and P/Invoke already exist; the C# property body is just commented out asTODOinSuperResolution.cs:307-325— trivial, uncomment + wire upximgproc — 25 of ~31 sub-headers are fully wrapped; the remaining six are whole unwrapped headers (6 items)
Fully covered:
edge_filter,edgeboxes,edge_drawing,segmentation, superpixelLSC/SEEDS/SLIC,structured_edge_detection,fast_line_detector,ridgefilter,weighted_median_filter,run_length_morphology,color_match,deriche/pailloufilters,brightedges,peilin,estimated_covariance,edgepreserving_filter,fast_hough_transform(HoughPoint2Line).DisparityFilter/DisparityWLSFilter+createDisparityWLSFilter/createDisparityWLSFilterGeneric/createRightMatcher(disparity_filter.hpp:52,86,135,143,153) — WLS disparity-map post-filtering, commonly paired with StereoBM/SGBM; entire header unwrapped — largeSparseMatchInterpolator/EdgeAwareInterpolator/RICInterpolator+ factories (sparse_match_interpolator.hpp:52,77,138,146,265) — sparse-to-dense flow interpolation, used with DIS/RLOF pipelines; entire header unwrapped — largeScanSegment+createScanSegment(scansegment.hpp:23,80) — F-DBSCAN superpixel segmentation; sibling SEEDS/SLIC/LSC already wrapped — mediumContourFitting+fourierDescriptor/transformFD/contourSampling(fourier_descriptors.hpp:20,87,97,106,114) — Fourier-descriptor contour fitting/matching — mediumfindEllipses(find_ellipses.hpp:30) — AAMED ellipse detection — smallRadonTransform(radon_transform.hpp:31) — Radon transform of an image (don't confuse with the already-wrappedHoughPoint2Line) — smallFully covered, no action needed
ptcloud,quality,xphoto,dnn_superres— verified with zero findings across their fullCV_EXPORTS_W/CV_WRAPsurface.Notes
Effort tags: small = a native bridge function/property + thin C# wrapper; medium = a small class or multi-member accessor set; large = a substantial class or multi-class family.