opencv_dart
OpenCV Bindings for Dart Language. Support both asynchronous and synchronous!
| Package |
Link |
Description |
![]() |
dartcv4 |
OpenCV bindings for Dart Language. |
![]() |
opencv_dart |
OpenCV for Flutter, from 2.x , it is a wrapper of dartcv4 to keep compatibility. |
[!NOTE]
WIP, APIs may change in the future, contributions are welcome!
Demos
Supported Platforms
| Platform |
Supported |
Tested |
Platforms |
| Android |
:white_check_mark: |
:white_check_mark: |
x86_64, arm64-v8a, armeabi-v7a |
| iOS |
:white_check_mark: |
:white_check_mark: |
arm64, x64+arm64(Simulator) |
| Linux |
:white_check_mark: |
:white_check_mark: |
x64, arm64 |
| Windows |
:white_check_mark: |
:white_check_mark: |
x64, arm64 |
| macOS |
:white_check_mark: |
:white_check_mark: |
x64, arm64 |
Status
Core Modules
| module |
Binding status |
Test status |
description |
| core |
:white_check_mark: |
:white_check_mark: |
Core module |
| calib3d |
:white_check_mark: |
:white_check_mark: |
Calib3D module |
| dnn |
:white_check_mark: |
:white_check_mark: |
DNN module |
| features2d |
:white_check_mark: |
:white_check_mark: |
Features2D module |
| gapi |
:x: |
:x: |
GAPI module |
| highgui |
:white_check_mark: |
:white_check_mark: |
HighGUI module |
| imgcodecs |
:white_check_mark: |
:white_check_mark: |
ImageCodecs module |
| imgproc |
:white_check_mark: |
:white_check_mark: |
ImageProc module |
| ml |
:x: |
:x: |
ML module |
| objdetect |
:white_check_mark: |
:white_check_mark: |
Object Detection module |
| photo |
:white_check_mark: |
:white_check_mark: |
Photo module |
| stitching |
:ballot_box_with_check: |
:ballot_box_with_check: |
Stitching module |
| svd |
:white_check_mark: |
:white_check_mark: |
SVD module |
| video |
:white_check_mark: |
:white_check_mark: |
Video module |
| videoio |
:white_check_mark: |
:white_check_mark: |
VideoIO module |
Contrib Modules
| module |
Binding status |
Test status |
description |
| aruco |
:white_check_mark: |
:white_check_mark: |
ArUco module |
| img_hash |
:white_check_mark: |
:white_check_mark: |
Image hashing module |
| cuda |
:x: |
:x: |
|
| wechat_qrcode |
:white_check_mark: |
:white_check_mark: |
|
| bgsegm |
:x: |
:x: |
|
| superres |
:x: |
:x: |
|
| xfeatures2d |
:x: |
:x: |
|
| ximgproc |
:white_check_mark: |
:white_check_mark: |
|
| xobjdetect |
:white_check_mark: |
:white_check_mark: |
|
| xphoto |
:x: |
:x: |
|
| quality |
:white_check_mark: |
:white_check_mark: |
|
- :x: : not finished
- :ballot_box_with_check: : partially supported
- :white_check_mark: : finished
- modules not in the above table are not considered, contributions are welcome
videoio: cv.VideoCapture from file is not supported yet supported now.
Usage
Pure Dart
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);
}
Flutter
see awesome-opencv_dart and share yours
TODO
- [x]
compile libs for android, linux
- [x]
support for iOS, macOS
- [x]
add more examples
- [ ] documentation
- [x]
modify C wrapper to catch exceptions
- [x] Native Assets, see
native-assets branch
- [x] async
- [x] more/full test coverage
- [x]
directly include opencv source code, refactor cmakelists.txt
Contributors
Acknowledgement
Star History
![Star History Chart]()
License
Apache-2.0 License