PackageTrack
Sign in Get early access

opencv_dart

OpenCV4 bindings for Flutter, using dart:ffi.

2.2.2 5.7K downloads/mo #3660 most downloaded on pub.dev rainyl/opencv_dart

What this package is like to depend on

Last release 8 days ago

16 Aug 2026

Release timing varies

gaps range from 8 days to 6 months

Nearly every release is documented

notes for 53 of 54 stable releases

17 versions withdrawn

withdrawn after publishing

3 years old

89 releases · first in 2024

7 releases in the last 12 months

see the full history below

Release timeline

89 releases · Feb 2024 to Aug 2026
2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 89
  1. 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 →
  2. 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 →
  3. 2.2.1+2 18 Feb 2026
    Release notes
    • fix: Explicitly disable building unused modules to reduce build time.
    Open source →
  4. 2.2.1+3 18 Feb 2026
    Release notes
    • fix: opencv-contrib modules are not correctly built when changing include modules.
    Open source →
  5. 2.2.1+4 26 Feb 2026
    Release notes
    • fix: aruco module is not correctly built when changing include modules.
    Open source →
  6. 2.1.0 18 Nov 2025
    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 →
  7. 2.1.0-dev.0.donotuse 31 Jul 2024 pre-release withdrawn

    Nothing published for this version

  8. 2.1.0-dev.0 01 Aug 2024 pre-release

    Nothing published for this version

  9. 2.0.0-dev.13.donotuse 31 Jul 2024 pre-release withdrawn

    Nothing published for this version

  10. 2.0.0-dev.12 18 Jun 2024 pre-release

    Nothing published for this version

  11. 2.0.0-dev.11 13 Jun 2024 pre-release

    Nothing published for this version

  12. 2.0.0-dev.10 12 Jun 2024 pre-release

    Nothing published for this version

  13. 2.0.0-dev.9 12 Jun 2024 pre-release

    Nothing published for this version

  14. 2.0.0-dev.8 02 Jun 2024 pre-release

    Nothing published for this version

  15. 2.0.0-dev.7 19 May 2024 pre-release

    Nothing published for this version

  16. 2.0.0-dev.6 14 May 2024 pre-release

    Nothing published for this version

  17. 2.0.0-dev.5 13 May 2024 pre-release

    Nothing published for this version

  18. 2.0.0-dev.4 13 May 2024 pre-release

    Nothing published for this version

  19. 2.0.0-dev.3 01 May 2024 pre-release

    Nothing published for this version

  20. 2.0.0-dev.2 21 Apr 2024 pre-release

    Nothing published for this version

  21. 2.0.0-dev.1 19 Apr 2024 pre-release

    Nothing published for this version

  22. 2.0.0-dev.0 19 Apr 2024 pre-release

    Nothing published for this version

  23. 1.4.5 18 Nov 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 →
  24. 1.4.3 24 Jul 2025
    Release notes

    What's Changed

    • fix DART_EXECUTABLE lookup logic in CMakeLists by @rainyl in #367
    • Bump OpenCV to 4.12.0, add new constructor for FlannBasedMatcher by @rainyl in #370

    Full Changelog: v1.4.2...v1.4.3

    Open source →
    Release notes
    • add FlannIndexParams, FlannSearchParams, FlannKDTreeIndexParams
    • add FlannBasedMatcher.create
    • bump opencv to 4.12.0
    • [android] fix ffmpeg search logic in ffmpeg-config.cmake, https://github.com/rainyl/opencv_dart/issues/293
    Open source →
  25. 1.4.2 03 Jul 2025
    Release notes

    What's Changed

    • remove ndkVersion from opencv_core and opencv_dart android/build.gradle by @rainyl in #340
    • Add externalSize option when attaching to help auto disposing by @rainyl in #342
    • Bump ffigen from 16.1.0 to 17.0.0 in /packages/dartcv by @dependabot in #343
    • Bump ffigen from 17.0.0 to 18.0.0 in /packages/dartcv by @dependabot in #346
    • [opencv_core] & [opencv_dart] with android auto ignore unuse abi by @einsitang in #348
    • Add docs for VecVec* operator[] by @rainyl in #350
    • Enhance README and CMakeLists for OpenCV module customization by @abdelaziz-mahdy in #355
    • bump opencv to 4.11.0+1, dartcv to 4.11.0.3 by @rainyl in #359
    • added API for approxPolyN by @lennartalff in #362
    • docs(contributor): contributors readme action update by @github-actions in #363
    • [Imgproc] Add more 2f version APIs for high-precision usage by @rainyl in #364

    New Contributors

    Full Changelog: v1.4.1...v1.4.2

    Open source →
    Release notes
    • support optional modules, configure it in pubspec.yaml, from this version, both opencv_core and opencv_dart can enable/disable optional modules.
    • 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 →
  26. 1.4.2+1 04 Jul 2025
    Release notes

    What's Changed

    • fix DART_EXECUTABLE lookup logic in CMakeLists by @rainyl in #367

    Full Changelog: v1.4.2...v1.4.2+1

    Open source →
    Release notes
    • fix: optional modules parsing in cmake script
    Open source →
  27. 1.4.1 11 Feb 2025
    Release notes

    What's Changed

    • Add async version of VideoCapture.grab() by @Gold872 in #329
    • docs(contributor): contributors readme action update by @github-actions in #330
    • Fix dependabot by @rainyl in #331
    • Bump ffigen from 14.0.1 to 16.1.0 in /packages/dartcv by @dependabot in #332
    • Add fromBuff constructor for Mat by @westito in #335
    • Wrap code inside try finally for Mat.fromList by @rainyl in #336
    • docs(contributor): contributors readme action update by @github-actions in #337
    • Mat at set by @rainyl in #338

    New Contributors

    Full Changelog: v1.4.0...v1.4.1

    Open source →
    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 →
  28. 1.4.0 22 Jan 2025
    Release notes

    Note: highly recommended to upgrade

    What's Changed

    • make file auto clone by @abdelaziz-mahdy in #300
    • add isContourConvex, intersectConvexConvex by @rainyl in #299
    • add Vec version of imencode imdecode, add haveImageReader haveImageWr… by @rainyl in #305
    • fix reference of estimateAffinePartial2D by @Escaton615 in #316
    • docs(contributor): contributors readme action update by @github-actions in #317
    • No copy vec, update to opencv 4.11.0 by @rainyl in #315
    • More calib3d functions by @rainyl in #324
    • make the version of dartcv4 fixed (without ^) in opencv_core and … by @rainyl in #325

    New Contributors

    Thanks for all the contributors and users, happy chinese new year 🎉

    Full Changelog: v1.3.3...v1.4.0

    Open source →
    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()
    • make VecVecChar unmodifible
    • more tests
    • add more functions in calib3d
    • make the version of dartcv4 fixed
    Open source →
  29. 1.3.3 25 Nov 2024
    Release notes
    • Fix example link in readme
    • [Android] Support 16KB Page Size
    • Fix: minEnclosingCircle
    • Fix: requested object not found in glob_rec
    • Exclude system paths from search paths in ffmpeg-config.cmake
    • bump dartcv to 4.10.0.5
    • bump opencv to 4.10.0+10
    Open source →
  30. 1.3.2 06 Nov 2024
    Release notes
    • Fix: minEnclosingCircle
    • hide highgui from building, cache options
    • [Android] Remove debug info in release build to reduce package size
    • bump DartCvIOS and DartCvMacOS to 4.10.0.4, remove -Wl,-ld_classic for ios and macos
    Open source →
  31. 1.3.2-dev.1 06 Nov 2024 pre-release

    Nothing published for this version

  32. 1.3.1 30 Oct 2024
    Release notes
    • breaking change: hide highgui
    • bump DartCvMacOS and DartCvIOS to 4.10.0.3, conditionally add link option -ld_classic
    Open source →
  33. 1.3.0 25 Oct 2024
    Release notes
    • breaking change: local build. Will download opencv sdk (~100M) from remote, set DARTCV_CACHE_DIR to cache it and avoid downloading in every build.
    • breaking change: many async class constructors and getters/setters were removed.
    • Breaking change: highgui, remove Window and Trackbar class, use functions like opencv c++ and python directly, e.g., cv.namedWindow("TestWindow"), more examples refer to: https://github.com/rainyl/opencv_dart/blob/split-dartcv/packages/dartcv/test/highgui_test.dart
    • macos: support 10.15 and above
    • android: API level 24 and above
    • ios: 12.0 and above
    • support custom linked ffmpeg 6.1 for windows, linux, android, macos
    • add DartCvMacOS dependency for macos
    • add DartCvIOS for ios
    • move all dart code to independent plugin dartcv4
    • bump dartcv to 1.0.1
    • add cv.Mat.fromMat
    Open source →
  34. 1.2.6-dev.1 24 Oct 2024 pre-release

    Nothing published for this version

  35. 1.2.6-dev.0 23 Oct 2024 pre-release

    Nothing published for this version

  36. 1.2.5 27 Sep 2024
    Release notes
    • add quality module by @rainyl in https://github.com/rainyl/opencv_dart/pull/239
    • Bump ffigen from 13.0.0 to 14.0.0 by @dependabot in https://github.com/rainyl/opencv_dart/pull/242
    • Cmake install to platform dir by @rainyl in https://github.com/rainyl/opencv_dart/pull/243
    • fix: [iOS] opencv_dart framework is missing MinimumOSVersion #246 by @rainyl in https://github.com/rainyl/opencv_dart/pull/247
    • do not dispose vec in Mat.fromVec by @rainyl in https://github.com/rainyl/opencv_dart/pull/250
    Open source →
  37. 1.2.4 06 Sep 2024
    Release notes
    • change Mat.toString() to return something like Mat(addr=0x1dde02c74b0, type=CV_8UC4, rows=-1, cols=-1, channels=4) by @rainyl in https://github.com/rainyl/opencv_dart/pull/233
    • migrate build toolchain from conan to cmake by @rainyl in https://github.com/rainyl/opencv_dart/pull/234
    • add cv.floodFill and cv.floodFillAsync by @rainyl in https://github.com/rainyl/opencv_dart/pull/236
    • move findHomography to calib3d by @rainyl in https://github.com/rainyl/opencv_dart/pull/236
    Open source →
  38. 1.2.3 30 Aug 2024
    Release notes
    • fix: android build.gradle task by @einsitang in https://github.com/rainyl/opencv_dart/pull/226
    • fix: vector conversion by @rainyl in https://github.com/rainyl/opencv_dart/pull/229
    • remove the dependency of flutter
    Open source →
  39. 1.2.2 25 Aug 2024
    Release notes
    • remove arm64 and x64 setup options for ios by @rainyl in https://github.com/rainyl/opencv_dart/pull/202
    • rename factory VideoWriter.open to VideoWriter.fromFile, add apiPreference option for VideoWriter by @rainyl in https://github.com/rainyl/opencv_dart/pull/203
    • check libs for android by @rainyl in https://github.com/rainyl/opencv_dart/pull/210
    • Android Plugin custom arch support by @einsitang in https://github.com/rainyl/opencv_dart/pull/211
    • use setRange for Vec, optimize operator [] by @rainyl in https://github.com/rainyl/opencv_dart/pull/215
    • add asVec() to List extensions for better Vec and List interop by @rainyl in https://github.com/rainyl/opencv_dart/pull/222
    Open source →
  40. 1.2.1 31 Jul 2024
    Release notes
    • use ndk from conan by @rainyl in https://github.com/rainyl/opencv_dart/pull/187
    • add Float16P, Float16List, impl float16 access for Mat by @rainyl in https://github.com/rainyl/opencv_dart/pull/189
    • export Mat properies as leaf functions by @rainyl in https://github.com/rainyl/opencv_dart/pull/191
    • use Mat::Ptr in Mat.ptrAt by @rainyl in https://github.com/rainyl/opencv_dart/pull/193
    Open source →
  41. 1.2.0 28 Jul 2024
    Release notes
    • Many breaking changes in this version, keep using old version if you do not want to modify your code.
    • Split to multiple libraries by @rainyl in https://github.com/rainyl/opencv_dart/pull/147
    • refactor vector wrappers by @rainyl in https://github.com/rainyl/opencv_dart/pull/155
    • deprecate copyToWithMask, use copyTo(Mat img, {Mat? mask}) instead by @rainyl in https://github.com/rainyl/opencv_dart/pull/157
    • support fp16 by @rainyl in https://github.com/rainyl/opencv_dart/pull/158
    • add getBackendName() for VideoCapture by @rainyl in https://github.com/rainyl/opencv_dart/pull/161
    • support create Mat from VecU8, etc. by @rainyl in https://github.com/rainyl/opencv_dart/pull/162
    • fix: Better mat format/print #156 by @rainyl in https://github.com/rainyl/opencv_dart/pull/163
    • added from list by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/165
    • fix imencode interface by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/168
    • fix Mat.size is not correct #170 by @rainyl in https://github.com/rainyl/opencv_dart/pull/171
    • logging interface by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/175
    • optimize Rng, remove unnecessay async by @rainyl in https://github.com/rainyl/opencv_dart/pull/176
    • update version to use enabled vulkan version by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/178
    • refactor Mat.at, Mat.set, Mat.ptrAt by @rainyl in https://github.com/rainyl/opencv_dart/pull/172
    • improve divide tests by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/181
    • updated functions to pass all params by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/182
    • bump ffigen to 13.0.0 by @rainyl in https://github.com/rainyl/opencv_dart/pull/183
    • add more methods to Mat, more test, add cv.sqrt, cv.sum by @rainyl in https://github.com/rainyl/opencv_dart/pull/185
    • added more tests by @abdelaziz-mahdy in https://github.com/rainyl/opencv_dart/pull/186
    Open source →
  42. 1.1.0 04 Jul 2024
    Release notes
    • Breaking Change: Asynchronous support, APIs ended with Async support asynchronous call.
    • Breaking Change: Rng.uniform,gaussian,next returns a Stream now, #135
    • Breaking Change: delete xdata of Mat, Make Mat.fromList copy data internally to avoid extra data management, now it will copy the input data 2 times
    • Breaking Change: class MatType -> extension type const MatType(int value)
    • remove the dependency of equatable
    • New: ximgproc and xobjdetect modules.
    • (int, int).toSize(Arena arena) -> (int, int).asSize
    • (int, int).toPoint(Arena arena) -> (int, int).asPoint
    • (double, double, double, double).toScalar(Arena arena) -> (double, double, double, double).asScalar
    • New: Mat.fromRange
    • New: Point3i, VecPoint3i
    • remove BlockMeanHash.compareS, BlockMeanHash.computeS
    • remove FaceRecognizerSF.newRecognizer
    • More info at: #143
    Open source →
  43. 1.1.0+1 18 Jul 2024
    Release notes
    • Fix: download wrong binaries on windows and linux, other platforms are not affected.
    Open source →
  44. 1.1.0-dev.1 02 Jul 2024 pre-release
    Release notes
    • New: EXPERIMENTAL Asynchronous support by @abdelaziz-mahdy and @rainyl, try it and open an issue if you have any problems.
    Open source →
  45. 1.0.10 18 Jun 2024
    Release notes
    • Fix: memory leak caused by cvstatus
    Open source →
  46. 1.0.10+1 21 Jun 2024
    Release notes
    • Fix: setup commands error on linux
    Open source →
  47. 1.0.9 13 Jun 2024
    Release notes
    • Fix: free smart pointer
    Open source →
  48. 1.0.8 12 Jun 2024
    Release notes
    • API change: FaceRecognizerSF.feature(Mat alignedImg) -> FaceRecognizerSF.feature(Mat alignedImg, {bool clone = false})
    • Deprecated: FaceRecognizerSF.newRecognizer FaceRecognizerSF.DIS_TYPR_FR_COSINE FaceRecognizerSF.DIS_TYPE_FR_NORM_L2
    Open source →
  49. 1.0.7 11 Jun 2024
    Release notes
    • Add: FaceDetectorYN, FaceDetectorSF
    • Add: Mat.dataPtr to allow get raw data pointer
    • update lint rules and format
    Open source →
  50. 1.0.6 09 Jun 2024 withdrawn
    Release notes
    • Upgrade to OpenCV 4.10.0
    • VecUChar.toU8List() return a copy of data rather than a view
    • Better Auto setup, support universal ios framework (x86_64 and arm64)
    Open source →
  51. 1.0.6+1 09 Jun 2024
    Release notes
    • Fix: auto setup
    Open source →
  52. 1.0.5 02 Jun 2024
    Release notes
    • Auto setup by @abdelaziz-mahdy, from v1.0.5, libs will be downloaded automatically during build, i.e., no need to run setup commands
    • Improve performance and optimize memory consumption
    • Add dispose() methods to allow manual free native resources
    • Better exception for cv.imencode
    • Add more API for objdetect module
    Open source →
  53. 1.0.5+1 05 Jun 2024 withdrawn
    Release notes
    • Optimize Vectors
    • Fix: free cExt before exception in cv.imencode
    • Add data getter for Vec<int,uchar,chat,float,double>, cache type of Mat
    • Make auto setup build locally, set OPENCV_DART_DISABLE_AUTO_BUILD to disable auto setup and run setup commands as before, read more in README
    Open source →
  54. 1.0.4 19 May 2024
    Release notes
    • Fix: Stitcher.composePanorama
    • Fix: pyrDown/Up border type, BORDER_CONSTANT -> BORDER_DEFAULT
    • New API: cv.Subdiv2D
    • New API: cv.LUT
    • improve performance of Mat.at() and Mat.set()
    • Add: Mat.aU8(), Mat.setU8(), etc.
    Open source →
  55. 1.0.3 13 May 2024
    Release notes
    • New API: Mat::ptr -> Mat.ptrAt
      • ffi.Pointer<T> Mat.ptrAt<T extends ffi.NativeType>(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.UnsignedChar> Mat.ptrU8(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.Char> ptrI8(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.UnsignedShort> ptrU16(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.Short> ptrI16(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.Int> ptrI32(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.Float> ptrF32(int i0, [int? i1, int? i2])
      • ffi.Pointer<ffi.Double> ptrF64(int i0, [int? i1, int? i2])
    Open source →
  56. 1.0.3+1 13 May 2024
    Release notes
    • fix: Stitcher.composePanorama
    Open source →
  57. 1.0.3+2 14 May 2024
    Release notes
    • fix: change the default border type of pyrDown/pyrUp to BORDER_DEFAULT, same as opencv
    Open source →
  58. 1.0.2 01 May 2024
    Release notes
    • API change: (Mat mean, Mat stdDev) meanStdDev(InputArray src, {OutputArray? mean, OutputArray? stdDev}) => (Scalar mean, Scalar stddev) meanStdDev(InputArray src, {InputArray? mask})
    • New: Mat.stdDev(), Mat.variance()
    • New: Scalar operator +, -, *, /, sqrt(), pow(int n)
    Open source →
  59. 1.0.2+1 02 May 2024
    Release notes
    • Fix: setup script will exit before files are really written to disk
    Open source →
  60. 1.0.2+2 12 May 2024
    Release notes
    • Fix: update archive version to 3.5.1
    • Minor change: change cache, .cache -> .dart_tool/.cache
    • Minor change: setup script, use cache, add -f flag to force download
    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