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 |
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.VideoCapture
from 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 example
More examples are on the way... 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-assets
branch - async
- more/full test coverage
-
directly include opencv source code, refactor cmakelists.txt
rainy liu |
Abdelaziz Mahdy |
爱因斯唐 |
JinWoo Jung |
mdeleau |
Matteo T. |
gocv
project: https://github.com/hybridgroup/gocv License: Apache-2.0
Apache-2.0 License