Conversation
Update caching strategy for Docker builds to use branch-specific keys.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates OpenCvSharp to align with OpenCV 4.13.0 / opencv_files 4.13.0.20260207, modernizes target frameworks and CI configs, and adds/adjusts native + managed bindings to match upstream changes.
Changes:
- Move .NET targets from net6.0 → net8.0 across tooling, libraries, tests, and NuGet metadata.
- Update native build/link inputs to OpenCV 4.13.0 (lib names, ffmpeg DLL names) and extend
Subdiv2Dto supportRect2f. - Refresh CI/workflows and add a Docker-based ARM/Linux build path for OpenCV 4.13.0.
Reviewed changes
Copilot reviewed 155 out of 155 changed files in this pull request and generated 117 comments.
Show a summary per file
| File | Description |
|---|---|
| tool/OpenCvSharp.ReleaseMaker/Packer.cs | Package picker updated for net8.0 outputs. |
| tool/OpenCvSharp.ReleaseMaker/OpenCvSharp.ReleaseMaker.csproj | Tool moved to net8.0. |
| tool/OpenCvSharp.NupkgBetaRemover/OpenCvSharp.NupkgBetaRemover.csproj | Tool moved to net8.0. |
| test/OpenCvSharp.Tests/stitching/CvDetailTest.cs | Weakens a test assertion (ImgIdx check commented). |
| test/OpenCvSharp.Tests/imgproc/ImgProcTest.cs | Updates assertions + refines FitEllipse tests. |
| test/OpenCvSharp.Tests/imgcodecs/ImgCodecsTest.cs | GIF-support test is now skipped. |
| test/OpenCvSharp.Tests/core/UMatTest.cs | Adds pragma suppression for CA1861. |
| test/OpenCvSharp.Tests/core/MatTest.cs | Adds console output to a test. |
| test/OpenCvSharp.Tests/core/CoreTest.cs | Uses C# collection expressions in assertions. |
| test/OpenCvSharp.Tests/OpenCvSharp.Tests.csproj | net8.0-specific analysis/suppressions updated. |
| test/OpenCvSharp.Tests/Img_alignment/Program.cs | Removes Img_alignment demo program. |
| test/OpenCvSharp.Tests/Img_alignment/ImageAlignmentTests.cs | Removes Img_alignment demo/test code. |
| src/OpenCvSharpExtern/my_types.h | Adds Rect2f ↔ MyCvRect2D32f conversions. |
| src/OpenCvSharpExtern/imgproc_Subdiv2D.h | Adds Rect2f-capable Subdiv2D constructor/init exports. |
| src/OpenCvSharpExtern/OpenCvSharpExtern.vcxproj | Updates linked OpenCV 4.13.0 libs and ffmpeg DLL names. |
| src/OpenCvSharp/OpenCvSharp.csproj | Targets net8.0 (and keeps netstandard/net48); analysis settings adjusted. |
| src/OpenCvSharp/Modules/xphoto/TonemapDurand.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xphoto/SimpleWB.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xphoto/LearningBasedWB.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xphoto/GrayworldWB.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Superpixel/SuperpixelSLIC.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Superpixel/SuperpixelSEEDS.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Superpixel/SuperpixelLSC.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/StructuredEdgeDetection.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Segmentation/SelectiveSearchSegmentationStrategyMultiple.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Segmentation/SelectiveSearchSegmentationStrategy.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Segmentation/SelectiveSearchSegmentation.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/Segmentation/GraphSegmentation.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/RidgeDetectionFilter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/RFFeatureGetter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/FastLineDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/EdgeFilter/GuidedFilter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/EdgeFilter/FastGlobalSmootherFilter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/EdgeFilter/FastBilateralSolverFilter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/EdgeFilter/DTFilter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/EdgeFilter/AdaptiveManifoldFilter.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ximgproc/EdgeBoxes.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xfeatures2d/StarDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xfeatures2d/SURF.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xfeatures2d/LUCID.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xfeatures2d/LATCH.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xfeatures2d/FREAK.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/xfeatures2d/BriefDescriptorExtractor.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/wechat_qrcode/WeChatQRCode.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/video/TrackerMIL.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/video/TrackerGOTURN.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/video/BackgroundSubtractorMog2.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/video/BackgroundSubtractorKNN.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/tracking/TrackerKCF.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/tracking/TrackerCSRT.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/text/TextDetectorCNN.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/text/OCRTesseract.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/superres/SuperResolution.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/superres/PyrLKOpticalFlow.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/superres/FrameSource.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/superres/FarnebackOpticalFlow.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/superres/DualTVL1OpticalFlow.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/superres/BroxOpticalFlow.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/stitching/Stitcher.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/shape/ShapeContextDistanceExtractor.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/shape/HausdorffDistanceExtractor.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/quality/QualitySSIM.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/quality/QualityPSNR.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/quality/QualityMSE.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/quality/QualityGMSD.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/quality/QualityBRISQUE.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/TonemapReinhard.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/TonemapMantiuk.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/TonemapDrago.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/Tonemap.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/MergeMertens.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/MergeDebevec.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/CalibrateRobertson.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/photo/CalibrateDebevec.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/SVM.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/RTrees.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/NormalBayesClassifier.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/LogisticRegression.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/KNearest.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/EM.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/DTrees.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/Boost.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/ml/ANN_MLP.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/imgproc/Subdiv2D.cs | Adds Rect2f ctor + InitDelaunay overload using new native exports. |
| src/OpenCvSharp/Modules/imgproc/LineSegmentDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/imgproc/GeneralizedHoughGuil.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/imgproc/GeneralizedHoughBallard.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/imgproc/CLAHE.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/img_hash/RadialVarianceHash.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/img_hash/PHash.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/img_hash/MarrHildrethHash.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/img_hash/ColorMomentHash.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/img_hash/BlockMeanHash.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/img_hash/AverageHash.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/highgui/Window.cs | Simplifies dictionary removal and window lookup. |
| src/OpenCvSharp/Modules/flann/IndexParams/SearchParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/flann/IndexParams/LshIndexParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/flann/IndexParams/LinearIndexParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/flann/IndexParams/KDTreeIndexParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/flann/IndexParams/IndexParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/flann/IndexParams/CompositeIndexParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/flann/IndexParams/AutotunedIndexParams.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/SimpleBlobDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/SIFT.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/ORB.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/MSER.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/KAZE.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/GFTTDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/FlannBasedMatcher.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/FastFeatureDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/DescriptorMatcher.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/BRISK.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/BFMatcher.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/AgastFeatureDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/features2d/AKAZE.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/face/Facemark/FacemarkLBF.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/face/Facemark/FacemarkAAM.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/face/FaceRecognizer/LBPHFaceRecognizer.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/face/FaceRecognizer/FisherFaceRecognizer.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/face/FaceRecognizer/EigenFaceRecognizer.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/core/Mat/MatPinning.cs | Makes pinning lifetime helper sealed. |
| src/OpenCvSharp/Modules/core/Mat/Mat.cs | Refactors internal maps to use C# 12 collection expressions/new(). |
| src/OpenCvSharp/Modules/calib3d/StereoSGBM.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/calib3d/StereoBM.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/bgsegm/BackgroundSubtractorMOG.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/bgsegm/BackgroundSubtractorGMG.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Modules/barcode/BarcodeDetector.cs | Makes native Ptr wrapper sealed. |
| src/OpenCvSharp/Internal/PInvoke/WindowsLibraryLoader.cs | Makes ProcessArchitectureInfo sealed. |
| src/OpenCvSharp/Internal/PInvoke/NativeMethods/imgproc/NativeMethods_imgproc_Subdiv2D.cs | Adds new3/initDelaunay1/initDelaunay2 P/Invokes. |
| src/OpenCvSharp/Fundamentals/ResourcesTracker.cs | Uses collection expression for HashSet init. |
| src/OpenCvSharp.WpfExtensions/OpenCvSharp.WpfExtensions.csproj | Targets net8.0-windows; adds analyzer suppression block (with a condition issue). |
| src/OpenCvSharp.WpfExtensions/BitmapSourceConverter.cs | Returns WriteableBitmap from decoder helper. |
| src/OpenCvSharp.Extensions/OpenCvSharp.Extensions.csproj | Targets net8.0; analysis/suppressions adjusted. |
| nuget/OpenCvSharp4.runtime.win.props | Updates ffmpeg DLL names to 4130. |
| nuget/OpenCvSharp4.runtime.win.nuspec | Updates dependency TFMs and ffmpeg DLL file list/props target folder. |
| nuget/OpenCvSharp4.runtime.wasm.nuspec | Updates props target folder to net8.0. |
| nuget/OpenCvSharp4.runtime.wasm.csproj | Targets net8.0 for packaging. |
| nuget/OpenCvSharp4.official.runtime.linux-x64.nuspec | Updates dependency group to net8.0. |
| nuget/OpenCvSharp4.official.runtime.linux-x64.csproj | Targets include net8.0. |
| nuget/OpenCvSharp4.nuspec | Publishes net8.0 lib artifacts instead of net6.0. |
| nuget/OpenCvSharp4.WpfExtensions.nuspec | Updates dependency group and lib output paths to net8.0(-windows). |
| nuget/OpenCvSharp4.Windows.nuspec | Updates dependency group to net8.0. |
| nuget/OpenCvSharp4.Extensions.nuspec | Updates dependency group and lib output paths to net8.0. |
| download_opencv_windows.ps1 | Bumps opencv_files tag to 4.13.0.20260207. |
| docker/ubuntu24-dotnet10-opencv4.13.0/Dockerfile | Adds OpenCV 4.13.0 + OpenCvSharp build/test Docker pipeline (currently broken by stage refs). |
| .github/workflows/windows.yml | Updates OpenCV version/tag and workflow actions/runner settings; builds net8.0. |
| .github/workflows/wasm.yml | Bumps OpenCV version + updates action versions. |
| .github/workflows/ubuntu22.yml | Bumps OpenCV version; adds Release build type; updates actions. |
| .github/workflows/publish_nuget.yml | Runner OS updated; updates actions versions. |
| .github/workflows/macos10.yml.disabled | Updates action versions and net8.0 test target (still disabled). |
| .github/workflows/linux-arm.yml | Updates OpenCV version and switches to native ARM build with new Docker context. |
| .github/workflows/docker-ubuntu.yml | Updates checkout action version. |
| .github/workflows/docker-deploy.yml | Updates checkout action version. |
| .github/workflows/docfx.yml | Updates checkout/setup-dotnet action versions. |
| .github/docker-appengine.yml | Updates checkout action version. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/OpenCvSharp/Internal/PInvoke/NativeMethods/imgproc/NativeMethods_imgproc_Subdiv2D.cs
Show resolved
Hide resolved
src/OpenCvSharp/Internal/PInvoke/NativeMethods/imgproc/NativeMethods_imgproc_Subdiv2D.cs
Show resolved
Hide resolved
src/OpenCvSharp/Internal/PInvoke/NativeMethods/imgproc/NativeMethods_imgproc_Subdiv2D.cs
Show resolved
Hide resolved
This was referenced Feb 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
https://github.com/opencv/opencv/wiki/OpenCV-Change-Logs#version4130
https://github.com/shimat/opencv_files/releases/tag/4.13.0.20260207