OpenCV Bindings for Dart Language. Support both asynchronous and synchronous!
| Package | Link | Description |
|---|---|---|
| dartcv4 | OpenCV bindings for Dart Language. | |
| opencv_core | OpenCV for Flutter, without videoio |
|
| opencv_dart | OpenCV for Flutter, with all modules |
Note
WIP, APIs may change in the future, contributions are welcome!
| Screenshot | Link |
|---|---|
| example | |
| videoio texture renderer | |
| DNN MNIST inference | |
| stitching | |
| camera | |
| videoio |
| Platform | Supported | Tested | Platforms |
|---|---|---|---|
| Android | ✅ | ✅ | x86_64, arm64-v8a, armeabi-v7a |
| iOS | ✅ | ✅ | arm64, x64(Simulator) |
| Linux | ✅ | ✅ | x64, arm64 |
| Windows | ✅ | ✅ | x64, arm64 |
| macOS | ✅ | ✅ | x64, arm64 |
| 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 |
| module | Binding status | Test status | description |
|---|---|---|---|
| aruco | ✅ | ✅ | ArUco module |
| img_hash | ✅ | ✅ | Image hashing module |
| cuda | ❌ | ❌ | |
| wechat_qrcode | ✅ | ✅ | |
| bgsegm | ❌ | ❌ | |
| superres | ❌ | ❌ | |
| xfeatures2d | ❌ | ❌ | |
| ximgproc | ✅ | ✅ | |
| xobjdetect | ✅ | ✅ | |
| xphoto | ❌ | ❌ | |
| quality | ✅ | ✅ |
- ❌ : not finished
- ☑️ : partially supported
- ✅ : finished
- modules not in the above table are not considered, contributions are welcome
videoio:supported now.cv.VideoCapturefrom file is not supported yet
import 'package:dartcv4/dartcv.dart' as cv;
void main() {
final img = cv.imread("test/images/lenna.png", flags: cv.IMREAD_COLOR);
final gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY);
print("${img.rows}, ${img.cols}");
cv.imwrite("test_cvtcolor.png", gray);
}see awesome-opencv_dart and share yours
-
compile libs for android, linux -
support for iOS, macOS -
add more examples - documentation
-
modify C wrapper to catch exceptions - Native Assets, see
native-assetsbranch - async
- more/full test coverage
-
directly include opencv source code, refactor cmakelists.txt
|
rainy liu |
Abdelaziz Mahdy |
爱因斯唐 |
Gold87 |
JinWoo Jung |
westito |
|
Escaton615 |
mdeleau |
Thies Lennart Alff |
Matteo T. |
gocvproject: https://github.com/hybridgroup/gocv License: Apache-2.0
Apache-2.0 License