File tree Expand file tree Collapse file tree 6 files changed +50
-2
lines changed Expand file tree Collapse file tree 6 files changed +50
-2
lines changed Original file line number Diff line number Diff line change 1+ ## 0.4.1
2+
3+ * add ` asyncarray `
4+
15## 0.4.0
26
37* :rocket : add support for ` photo ` module
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ prebuilt binaries.
3333| svd | :white_check_mark : | :white_check_mark : | SVD module |
3434| video | :white_check_mark : | :white_check_mark : | Video module |
3535| videoio | :white_check_mark : | :white_check_mark : | VideoIO module |
36- | asyncarray | :x : | :x : | AsyncArray module |
36+ | asyncarray | :white_check_mark : | :white_check_mark : | AsyncArray module |
3737| calib3d | :x : | :x : | Calib3D module |
3838| dnn | :x : | :x : | DNN module |
3939| photo | :white_check_mark : | :white_check_mark : | Photo module |
Original file line number Diff line number Diff line change 1+ library cv;
2+
3+ import 'dart:ffi' as ffi;
4+
5+ import 'package:ffi/ffi.dart' ;
6+ import 'package:opencv_dart/src/core/cv_exception.dart' ;
7+
8+ import '../core/mat_type.dart' ;
9+ import '../core/point.dart' ;
10+ import '../core/base.dart' ;
11+ import '../core/mat.dart' ;
12+ import '../opencv.g.dart' as cvg;
13+
14+ final _bindings = cvg.CvNative (loadNativeLibrary ());
15+
16+ class AsyncArray implements ffi.Finalizable {
17+ AsyncArray ._(this .ptr) {
18+ finalizer.attach (this , ptr);
19+ }
20+
21+ factory AsyncArray .empty () {
22+ final _ptr = _bindings.AsyncArray_New ();
23+ return AsyncArray ._(_ptr);
24+ }
25+
26+ cvg.AsyncArray ptr;
27+ static final finalizer = ffi.NativeFinalizer (_bindings.addresses.AsyncArray_Close );
28+
29+ Mat get () {
30+ return using <Mat >((arena) {
31+ final dst = Mat .empty ();
32+ final result = _bindings.AsyncArray_GetAsync (ptr, dst.ptr);
33+ final dartStr = result.cast <Utf8 >().toDartString ();
34+ if (dartStr.length > 0 ) throw OpenCvDartException ("$dartStr " );
35+ return dst;
36+ });
37+ }
38+ }
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ export 'constants.g.dart';
55export 'aruco/aruco.dart' ;
66export 'aruco/aruco_dict.dart' ;
77
8+ export 'core/asyncarray.dart' ;
89export 'core/base.dart' ;
910export 'core/core.dart' ;
1011export 'core/contours.dart' ;
Original file line number Diff line number Diff line change 11name : opencv_dart
22description : " OpenCV4 bindings for Dart language and Flutter, using dart:ffi. The most complete OpenCV bindings for Dart!"
3- version : 0.4.0
3+ version : 0.4.1
44homepage : https://github.com/rainyl/opencv_dart
55
66environment :
Original file line number Diff line number Diff line change @@ -8,6 +8,11 @@ void main() async {
88 expect (version.length, greaterThan (0 ));
99 });
1010
11+ test ('cv.AsyncArray' , () {
12+ final arr = cv.AsyncArray .empty ();
13+ expect (arr.ptr, isNotNull);
14+ });
15+
1116 test ('cv.absDiff' , () {
1217 final mat0 = cv.Mat .ones (100 , 100 , cv.MatType .CV_8UC3 );
1318 final mat1 = cv.Mat .zeros (100 , 100 , cv.MatType .CV_8UC3 );
You can’t perform that action at this time.
0 commit comments