PackageTrack
Sign in Get early access

dartcv4

OpenCV4 bindings for Dart language and Flutter, using dart:ffi. The most complete OpenCV bindings for Dart!

2.3.0 8.8K downloads/mo #3094 most downloaded on pub.dev rainyl/opencv_dart

What this package is like to depend on

Last release 4 days ago

19 Aug 2026

Release timing varies

gaps range from 8 days to 6 months

Nearly every release is documented

notes for 21 of 22 stable releases

1 version withdrawn

withdrawn after publishing

2 years old

25 releases · first in 2024

11 releases in the last 12 months

see the full history below

Release timeline

25 releases · Oct 2024 to Aug 2026
2025 2026
Release Pre-release Withdrawn

Releases

latest 25
  1. 2.3.0 19 Aug 2026
    Release notes

    What's Changed

    • Safety enhancement, memory management, Tree-shaking support, API-style ffigen, disable OpenCL by default. by @rainyl in #443
    • Added charucos by @pariterre in #437
    • Bump package_config from 2.2.0 to 3.0.0 in /packages/dartcv by @dependabot[bot] in #444
    • docs(contributor): contributors readme action update by @github-actions[bot] in #445
    • feat: add skip_build user define to bypass native build for CI unit tests by @jasaw in #446
    • docs(contributor): contributors readme action update by @github-actions[bot] in #447

    New Contributors

    Full Changelog: v2.2.2...v2.3.0

    Open source →
    Release notes
    • new: memory-safety fixes:
      • fix VecVec6f finalizer
      • fix strdup/calloc memory leaks
      • fix Mat.fromMat(copy: true) memory leak
      • add null-guards in logging
    • new: idempotent dispose()/freeNative(), add isDisposed for all wrappers (P2 refactor, additive — no breaking API change)
    • new: native-assets tree-shaking: link hook writes dartcv_keep.txt from recorded uses (@RecordUse) + finalizer symbols; CMake .def / --retain-symbols-file restrict exports; keep-list only written on AOT builds; new treeshake hook option (Dart 3.13+)
    • new: use_opencl hook option to build OpenCV with OpenCL support, per-platform, default false, always disabled on ios
    • new: regenerate FFI bindings through the ffigen FfiGenerator API (tool/ffigen.dart) with @RecordUse + record_use_mapping output
    • bump ffigen to 21.0.0
    • add dependencies: meta, record_use
    • new: add CharucoBoard / CharucoDetector bindings (contrib module)
    • fix(videoio): free native-allocated arrays in backend registry getters (memory leak); make hasBackend / isBackendBuiltIn exception-safe; skip unknown backend values in getBackends-family via VideoCaptureAPIs.maybeFromValue; always release probed cameras in enumerateCameras; support 16F in parseFrameFormat
    • fix(videoio): writer tests write to per-test temp dirs (no shared-file race between parallel test files); silence OpenCV backend-probing warnings in videoio tests
    • new: add skip_build hook user-define to bypass the native build entirely, for CI unit-test runs that never call into dartcv4's native code
    Open source →
  2. 2.2.2 16 Aug 2026
    Release notes

    What's Changed

    • fix: iOS build fails - OpenCL/cl.h not found due to FORCE in cmake options by @abdelaziz-mahdy in #421
    • Ci fix test publish by @rainyl in #422
    • fix: explicitly disable all modules by default in cmake-options.cmake by @rainyl in #425
    • fix(build): ensure opencv-contrib modules path is set correctly by @rainyl in #426
    • fix: ensure aruco module is correctly built with required dependencies by @rainyl in #428
    • add LineSegmentDetector + the detech method by @dupuchba in #430
    • docs(contributor): contributors readme action update by @github-actions[bot] in #433
    • chore: bump version to 2.2.2 and update documentation by @rainyl in #434
    • Bump hooks from 1.0.3 to 2.1.0 in /packages/dartcv by @dependabot[bot] in #441

    New Contributors

    Full Changelog: v2.2.1...v2.2.2

    Open source →
    Release notes
    • new: add LineSegmentDetector support (imgproc module)
    • bump native_toolchain_cmake to 0.3.1
    • bump hooks to 2.1.0
    Open source →
  3. 2.2.1 04 Feb 2026
    Release notes

    bump opencv_dart to 2.2.1

    Open source →
    Release notes
    • support setting custom cmake generator
    • fix: Skip native build hook for web builds
    • new: support enumerating videoio backends
    Open source →
  4. 2.2.1+1 06 Feb 2026
    Release notes

    What's Changed

    Full Changelog: v1.4.3...v2.2.1+1

    Open source →
    Release notes
    • fix: CMake definitions are not correctly passed when building ios
    Open source →
  5. 2.2.1+2 18 Feb 2026
    Release notes
    • fix: Explicitly disable building unused modules to reduce build time.
    Open source →
  6. 2.2.1+3 18 Feb 2026
    Release notes
    • fix: opencv-contrib modules are not correctly built when changing include modules.
    Open source →
  7. 2.2.1+4 26 Feb 2026
    Release notes
    • fix: aruco module is not correctly built when changing include modules.
    Open source →
  8. 2.2.0 06 Jan 2026
    Release notes
    • breaking change: support building from opencv source code, it's now the default behavior, since this version, prebuilt opencv static binary is no longer included.
    • bump opencv version to 4.13.0
    • NOTE: opencv 4.12.0 is the last version that provides prebuilt static binary.
    • breaking change: change default include modules to imgcodecs imgproc.
    • breaking change: change default excluded modules to calib3d dnn features2d flann freetype highgui objdetect photo stitching video videoio aruco img_hash quality wechat_qrcode ximgproc xobjdetect
    • breaking change: since this version, FFMPEG is no longer included.
    Open source →
  9. 2.1.0 18 Nov 2025 withdrawn
    Release notes
    • NOTE: Breaking change.
    • The minimum required dart sdk version is 3.10 that supports hooks (Native-Assets) stable.
    • add stackBlur function in imgproc module.
    • Breaking change: default included models: calib3d,features2d,imgcodecs,imgproc,objdetect,photo,stitching, default excluded modules:contrib,freetype,highgui,video,videoio,dnn.
    Open source →
  10. 2.1.0+1 18 Nov 2025
    Release notes
    • fix: C++ src not included
    Open source →
  11. 2.1.0-dev.2 15 Aug 2025 pre-release
    Release notes
    • add Mat.reinterpret
    • add fisheye.solvePnPRansac, support mask for cv.threshold
    • add StereoBM, StereoSGBM from calib3d module
    Open source →
  12. 2.1.0-dev.1 24 Jul 2025 pre-release
    Release notes
    • sync main branch, now support all methods in dartcv v1.1.6
    • :tada: this version supports windows, linux, macos, android and ios, for platforms except ios, ffmpeg is also supported.
    Open source →
  13. 1.1.8 02 Sep 2025
    Release notes
    • bump dependencies
    • add UMat
    • [features2d] add more functions/constructions
    • add custom loggers, support user-defined logger callback
    • add cv.freetype module
    Open source →
  14. 1.1.7 15 Aug 2025
    Release notes
    • add Mat.reinterpret
    • add fisheye.solvePnPRansac, support mask for cv.threshold
    • add StereoBM, StereoSGBM from calib3d module
    Open source →
  15. 1.1.6 16 Jul 2025
    Release notes
    • add FlannIndexParams, FlannSearchParams, FlannKDTreeIndexParams
    • add FlannBasedMatcher.create
    • bump opencv to 4.12.0
    Open source →
  16. 1.1.5 03 Jul 2025
    Release notes
    • added approxPolyN.
    • add more high-precision functions (arcLength2f, etc.) to imgproc module, https://github.com/rainyl/opencv_dart/pull/364
    • breaking change: optional arg hierarchy of drawContours now change from Mat to VecVec4i type.
    Open source →
  17. 1.1.4 21 May 2025
    Release notes
    • remove deprecated MatType.toInt(), should use MatType.value instead
    • add MatType.elemSize MatType.elemSize1
    • remove deprecated (double x, double y, double z).asPoint3f (double x, double y).asPoint2f (int x, int y).asPoint VecPoint.toVecVecPoint
    • add bin/gen_cmake_vars.dart for generating optional module vars for CMake
    Open source →
  18. 1.1.3 11 Feb 2025
    Release notes
    • add VideoCapture.grabAsync
    • add Mat.fromBuffer to allow creating Mat from self-managed buffer
    • add copyData parameter to Mat.fromVec
    • remove Mat.fromPtr, merge it to Mat.fromMat
    • add Mat.atU8, Mat.setU8, etc.
    • remove deprecated Mat.copyToWithMask, List<Mat>.asVecMat()
    Open source →
  19. 1.1.2 20 Jan 2025
    Release notes
    • add more functions in calib3d
    Open source →
  20. 1.1.1 17 Jan 2025
    Release notes
    • make VecVecChar unmodifible
    • more tests
    Open source →
  21. 1.1.0 17 Jan 2025
    Release notes
    • update to OpenCV 4.11.0
    • change vector wrappers to std::vector
    • fix reference of estimateAffinePartial2D
    • support VideoWriter.get() and VideoWriter.set()
    • use native implementation of 8U/8S -> F16 for cv.LUT()
    Open source →
  22. 1.0.1 25 Oct 2024

    Nothing published for this version

  23. 1.0.0 25 Oct 2024
    Release notes
    • Refactor nearly all APIs, this version is NOT compitable with previous versions!.
    • better exceptions, more concise API
    Open source →
  24. 0.0.2 24 Oct 2024
    Release notes
    • Implemented: imgproc, imgcodecs, core, video, need to be tested!
    • add example
    Open source →
  25. 0.0.1 22 Oct 2024
    Release notes
    • Initial Release
    • Implemented: imgproc, imgcodecs, core, video, need to be tested!
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive