opencv_dart 2.0.0-dev.13.donotuse opencv_dart: ^2.0.0-dev.13.donotuse copied to clipboard
OpenCV4 bindings for Dart language and Flutter, using dart:ffi. The most complete OpenCV bindings for Dart!
opencv_dart #
OpenCV Bindings for Dart Language.
Important
v2.x
is prepared for Native Assets, Use only if you know what you are doing!
v2.x
doesn't need to download the prebuild binaries but requires Native Assets
feature, which is still experimental, see more here: https://github.com/dart-lang/sdk/issues/50565
conan and cmake are required
Usage:
for pure dart:
- take a look at https://pub.dev/packages/opencv_dart/versions and find the latest version, e.g.,
2.0.0-dev.2
- add to your
pubspec.yaml
dart --enable-experiment=native-assets run <path-to-your-code>
for flutter:
- take a look at https://pub.dev/packages/opencv_dart/versions and find the latest version, e.g.,
2.0.0-dev.2
- add to your
pubspec.yaml
flutter config --enable-native-assets
flutter run
Note
WIP, contributions are welcome!
Example #
Supported Platforms #
Platform | Supported | Tested | Prebuilt Binaries |
---|---|---|---|
Android | ✅ | ☑️ | x86_64, arm64-v8a, armeabi-v7a |
iOS | ✅ | ☑️ | arm64, x64(Simulator) |
Linux | ✅ | ✅ | x64 |
Windows | ✅ | ✅ | x64 |
macOS | ✅ | ✅ | x64, arm64 |
Status #
Core Modules #
module | Binding status | Test status | description |
---|---|---|---|
core | ✅ | ✅ | Core module |
calib3d | ✅ | ✅ | Calib3D module |
dnn | ✅ | ✅ | DNN module |
features2d | ✅ | ✅ | Features2D module |
gapi | ❌ | ❌ | GAPI module |
highgui | ✅ | ✅ | HighGUI module |
imgcodecs | ✅ | ✅ | ImageCodecs module |
imgproc | ✅ | ✅ | ImageProc module |
ml | ❌ | ❌ | ML module |
objdetect | ✅ | ✅ | Object Detection module |
photo | ✅ | ✅ | Photo module |
stitching | ☑️ | ☑️ | Stitching module |
svd | ✅ | ✅ | SVD module |
video | ✅ | ✅ | Video module |
videoio | ✅ | ✅ | VideoIO module |
Contrib Modules #
module | Binding status | Test status | description |
---|---|---|---|
aruco | ✅ | ✅ | ArUco module |
img_hash | ✅ | ✅ | Image hashing module |
cuda | ❌ | ❌ | |
wechat_qrcode | ✅ | ✅ | |
bgsegm | ❌ | ❌ | |
superres | ❌ | ❌ | |
xfeatures2d | ❌ | ❌ | |
ximgproc | ❌ | ❌ | |
xobjdetect | ❌ | ❌ | |
xphoto | ❌ | ❌ |
- ❌ : not finished
- ☑️ : partially supported
- ✅ : finished
- modules not in the above table are not considered, contributions are welcome
Usage #
Pure Dart
import 'package:opencv_dart/opencv_dart.dart' as cv;
void main() {
final img = cv.imread("test/images/lenna.png", flags: cv.IMREAD_COLOR);
final gray = cv.cvtColor(img, gray, cv.COLOR_BGR2GRAY);
print("${img.rows}, ${img.cols}");
cv.imwrite("test_cvtcolor.png", gray);
}
Flutter
see example
More examples are on the way... see opencv_dart.examples and share yours
TODO #
- ✅
compile libs for android, linux - ✅
support for iOS, macOS - ✅
add more examples - ❌ documentation
- ✅
modify C wrapper to catch exceptions - ✅
Native Assets - ❌ async?
- ✅ more/full test coverage
- ✅
directly include opencv source code, refactor cmakelists.txt
Contributors #
rainy liu |
Abdelaziz Mahdy |
JinWoo Jung |
mdeleau |
Matteo T. |
Acknowledgement #
gocv
project: https://github.com/hybridgroup/gocv License: Apache-2.0
Star History #
License #
Apache-2.0 License