├── .gitignore
├── LICENSE.md
├── README.md
├── android
├── .gitignore
├── app
│ ├── CMakeLists.txt
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── opencv_flutter_ffi
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-v21
│ │ │ └── launch_background.xml
│ │ │ ├── drawable
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── include
│ └── opencv2
│ │ ├── calib3d.hpp
│ │ ├── calib3d
│ │ ├── calib3d.hpp
│ │ └── calib3d_c.h
│ │ ├── core.hpp
│ │ ├── core
│ │ ├── affine.hpp
│ │ ├── async.hpp
│ │ ├── base.hpp
│ │ ├── bindings_utils.hpp
│ │ ├── bufferpool.hpp
│ │ ├── check.hpp
│ │ ├── core.hpp
│ │ ├── core_c.h
│ │ ├── cuda.hpp
│ │ ├── cuda.inl.hpp
│ │ ├── cuda
│ │ │ ├── block.hpp
│ │ │ ├── border_interpolate.hpp
│ │ │ ├── color.hpp
│ │ │ ├── common.hpp
│ │ │ ├── datamov_utils.hpp
│ │ │ ├── detail
│ │ │ │ ├── color_detail.hpp
│ │ │ │ ├── reduce.hpp
│ │ │ │ ├── reduce_key_val.hpp
│ │ │ │ ├── transform_detail.hpp
│ │ │ │ ├── type_traits_detail.hpp
│ │ │ │ └── vec_distance_detail.hpp
│ │ │ ├── dynamic_smem.hpp
│ │ │ ├── emulation.hpp
│ │ │ ├── filters.hpp
│ │ │ ├── funcattrib.hpp
│ │ │ ├── functional.hpp
│ │ │ ├── limits.hpp
│ │ │ ├── reduce.hpp
│ │ │ ├── saturate_cast.hpp
│ │ │ ├── scan.hpp
│ │ │ ├── simd_functions.hpp
│ │ │ ├── transform.hpp
│ │ │ ├── type_traits.hpp
│ │ │ ├── utility.hpp
│ │ │ ├── vec_distance.hpp
│ │ │ ├── vec_math.hpp
│ │ │ ├── vec_traits.hpp
│ │ │ ├── warp.hpp
│ │ │ ├── warp_reduce.hpp
│ │ │ └── warp_shuffle.hpp
│ │ ├── cuda_stream_accessor.hpp
│ │ ├── cuda_types.hpp
│ │ ├── cv_cpu_dispatch.h
│ │ ├── cv_cpu_helper.h
│ │ ├── cvdef.h
│ │ ├── cvstd.hpp
│ │ ├── cvstd.inl.hpp
│ │ ├── cvstd_wrapper.hpp
│ │ ├── detail
│ │ │ ├── async_promise.hpp
│ │ │ └── exception_ptr.hpp
│ │ ├── directx.hpp
│ │ ├── dualquaternion.hpp
│ │ ├── dualquaternion.inl.hpp
│ │ ├── eigen.hpp
│ │ ├── fast_math.hpp
│ │ ├── hal
│ │ │ ├── hal.hpp
│ │ │ ├── interface.h
│ │ │ ├── intrin.hpp
│ │ │ ├── intrin_avx.hpp
│ │ │ ├── intrin_avx512.hpp
│ │ │ ├── intrin_cpp.hpp
│ │ │ ├── intrin_forward.hpp
│ │ │ ├── intrin_msa.hpp
│ │ │ ├── intrin_neon.hpp
│ │ │ ├── intrin_rvv.hpp
│ │ │ ├── intrin_rvv071.hpp
│ │ │ ├── intrin_sse.hpp
│ │ │ ├── intrin_sse_em.hpp
│ │ │ ├── intrin_vsx.hpp
│ │ │ ├── intrin_wasm.hpp
│ │ │ ├── msa_macros.h
│ │ │ └── simd_utils.impl.hpp
│ │ ├── mat.hpp
│ │ ├── mat.inl.hpp
│ │ ├── matx.hpp
│ │ ├── neon_utils.hpp
│ │ ├── ocl.hpp
│ │ ├── ocl_genbase.hpp
│ │ ├── opencl
│ │ │ ├── ocl_defs.hpp
│ │ │ ├── opencl_info.hpp
│ │ │ ├── opencl_svm.hpp
│ │ │ └── runtime
│ │ │ │ ├── autogenerated
│ │ │ │ ├── opencl_clblas.hpp
│ │ │ │ ├── opencl_clfft.hpp
│ │ │ │ ├── opencl_core.hpp
│ │ │ │ ├── opencl_core_wrappers.hpp
│ │ │ │ ├── opencl_gl.hpp
│ │ │ │ └── opencl_gl_wrappers.hpp
│ │ │ │ ├── opencl_clblas.hpp
│ │ │ │ ├── opencl_clfft.hpp
│ │ │ │ ├── opencl_core.hpp
│ │ │ │ ├── opencl_core_wrappers.hpp
│ │ │ │ ├── opencl_gl.hpp
│ │ │ │ ├── opencl_gl_wrappers.hpp
│ │ │ │ ├── opencl_svm_20.hpp
│ │ │ │ ├── opencl_svm_definitions.hpp
│ │ │ │ └── opencl_svm_hsa_extension.hpp
│ │ ├── opengl.hpp
│ │ ├── operations.hpp
│ │ ├── optim.hpp
│ │ ├── ovx.hpp
│ │ ├── parallel
│ │ │ ├── backend
│ │ │ │ ├── parallel_for.openmp.hpp
│ │ │ │ └── parallel_for.tbb.hpp
│ │ │ └── parallel_backend.hpp
│ │ ├── persistence.hpp
│ │ ├── quaternion.hpp
│ │ ├── quaternion.inl.hpp
│ │ ├── saturate.hpp
│ │ ├── simd_intrinsics.hpp
│ │ ├── softfloat.hpp
│ │ ├── sse_utils.hpp
│ │ ├── traits.hpp
│ │ ├── types.hpp
│ │ ├── types_c.h
│ │ ├── utility.hpp
│ │ ├── utils
│ │ │ ├── allocator_stats.hpp
│ │ │ ├── allocator_stats.impl.hpp
│ │ │ ├── filesystem.hpp
│ │ │ ├── instrumentation.hpp
│ │ │ ├── logger.defines.hpp
│ │ │ ├── logger.hpp
│ │ │ ├── logtag.hpp
│ │ │ ├── tls.hpp
│ │ │ └── trace.hpp
│ │ ├── va_intel.hpp
│ │ ├── version.hpp
│ │ └── vsx_utils.hpp
│ │ ├── cvconfig.h
│ │ ├── dnn.hpp
│ │ ├── dnn
│ │ ├── all_layers.hpp
│ │ ├── dict.hpp
│ │ ├── dnn.hpp
│ │ ├── dnn.inl.hpp
│ │ ├── layer.details.hpp
│ │ ├── layer.hpp
│ │ ├── shape_utils.hpp
│ │ ├── utils
│ │ │ └── inference_engine.hpp
│ │ └── version.hpp
│ │ ├── features2d.hpp
│ │ ├── features2d
│ │ ├── features2d.hpp
│ │ └── hal
│ │ │ └── interface.h
│ │ ├── flann.hpp
│ │ ├── flann
│ │ ├── all_indices.h
│ │ ├── allocator.h
│ │ ├── any.h
│ │ ├── autotuned_index.h
│ │ ├── composite_index.h
│ │ ├── config.h
│ │ ├── defines.h
│ │ ├── dist.h
│ │ ├── dummy.h
│ │ ├── dynamic_bitset.h
│ │ ├── flann.hpp
│ │ ├── flann_base.hpp
│ │ ├── general.h
│ │ ├── ground_truth.h
│ │ ├── hdf5.h
│ │ ├── heap.h
│ │ ├── hierarchical_clustering_index.h
│ │ ├── index_testing.h
│ │ ├── kdtree_index.h
│ │ ├── kdtree_single_index.h
│ │ ├── kmeans_index.h
│ │ ├── linear_index.h
│ │ ├── logger.h
│ │ ├── lsh_index.h
│ │ ├── lsh_table.h
│ │ ├── matrix.h
│ │ ├── miniflann.hpp
│ │ ├── nn_index.h
│ │ ├── object_factory.h
│ │ ├── params.h
│ │ ├── random.h
│ │ ├── result_set.h
│ │ ├── sampling.h
│ │ ├── saving.h
│ │ ├── simplex_downhill.h
│ │ └── timer.h
│ │ ├── gapi.hpp
│ │ ├── gapi
│ │ ├── core.hpp
│ │ ├── cpu
│ │ │ ├── core.hpp
│ │ │ ├── gcpukernel.hpp
│ │ │ ├── imgproc.hpp
│ │ │ ├── stereo.hpp
│ │ │ └── video.hpp
│ │ ├── fluid
│ │ │ ├── core.hpp
│ │ │ ├── gfluidbuffer.hpp
│ │ │ ├── gfluidkernel.hpp
│ │ │ └── imgproc.hpp
│ │ ├── garg.hpp
│ │ ├── garray.hpp
│ │ ├── gasync_context.hpp
│ │ ├── gcall.hpp
│ │ ├── gcommon.hpp
│ │ ├── gcompiled.hpp
│ │ ├── gcompiled_async.hpp
│ │ ├── gcompoundkernel.hpp
│ │ ├── gcomputation.hpp
│ │ ├── gcomputation_async.hpp
│ │ ├── gframe.hpp
│ │ ├── gkernel.hpp
│ │ ├── gmat.hpp
│ │ ├── gmetaarg.hpp
│ │ ├── gopaque.hpp
│ │ ├── gproto.hpp
│ │ ├── gpu
│ │ │ ├── core.hpp
│ │ │ ├── ggpukernel.hpp
│ │ │ └── imgproc.hpp
│ │ ├── gscalar.hpp
│ │ ├── gstreaming.hpp
│ │ ├── gtransform.hpp
│ │ ├── gtype_traits.hpp
│ │ ├── gtyped.hpp
│ │ ├── imgproc.hpp
│ │ ├── infer.hpp
│ │ ├── infer
│ │ │ ├── bindings_ie.hpp
│ │ │ ├── ie.hpp
│ │ │ ├── onnx.hpp
│ │ │ └── parsers.hpp
│ │ ├── media.hpp
│ │ ├── ocl
│ │ │ ├── core.hpp
│ │ │ ├── goclkernel.hpp
│ │ │ └── imgproc.hpp
│ │ ├── opencv_includes.hpp
│ │ ├── operators.hpp
│ │ ├── own
│ │ │ ├── assert.hpp
│ │ │ ├── convert.hpp
│ │ │ ├── cvdefs.hpp
│ │ │ ├── exports.hpp
│ │ │ ├── mat.hpp
│ │ │ ├── saturate.hpp
│ │ │ ├── scalar.hpp
│ │ │ └── types.hpp
│ │ ├── plaidml
│ │ │ ├── core.hpp
│ │ │ ├── gplaidmlkernel.hpp
│ │ │ └── plaidml.hpp
│ │ ├── python
│ │ │ └── python.hpp
│ │ ├── render.hpp
│ │ ├── render
│ │ │ ├── render.hpp
│ │ │ └── render_types.hpp
│ │ ├── rmat.hpp
│ │ ├── s11n.hpp
│ │ ├── s11n
│ │ │ └── base.hpp
│ │ ├── stereo.hpp
│ │ ├── streaming
│ │ │ ├── cap.hpp
│ │ │ ├── desync.hpp
│ │ │ ├── format.hpp
│ │ │ ├── meta.hpp
│ │ │ ├── source.hpp
│ │ │ └── sync.hpp
│ │ ├── util
│ │ │ ├── any.hpp
│ │ │ ├── compiler_hints.hpp
│ │ │ ├── copy_through_move.hpp
│ │ │ ├── optional.hpp
│ │ │ ├── throw.hpp
│ │ │ ├── type_traits.hpp
│ │ │ ├── util.hpp
│ │ │ └── variant.hpp
│ │ └── video.hpp
│ │ ├── highgui.hpp
│ │ ├── highgui
│ │ ├── highgui.hpp
│ │ └── highgui_c.h
│ │ ├── imgcodecs.hpp
│ │ ├── imgcodecs
│ │ ├── imgcodecs.hpp
│ │ ├── imgcodecs_c.h
│ │ ├── ios.h
│ │ ├── legacy
│ │ │ └── constants_c.h
│ │ └── macosx.h
│ │ ├── imgproc.hpp
│ │ ├── imgproc
│ │ ├── bindings.hpp
│ │ ├── detail
│ │ │ └── gcgraph.hpp
│ │ ├── hal
│ │ │ ├── hal.hpp
│ │ │ └── interface.h
│ │ ├── imgproc.hpp
│ │ ├── imgproc_c.h
│ │ ├── segmentation.hpp
│ │ └── types_c.h
│ │ ├── ml.hpp
│ │ ├── ml
│ │ ├── ml.hpp
│ │ └── ml.inl.hpp
│ │ ├── objdetect.hpp
│ │ ├── objdetect
│ │ ├── detection_based_tracker.hpp
│ │ └── objdetect.hpp
│ │ ├── opencv.hpp
│ │ ├── opencv_modules.hpp
│ │ ├── photo.hpp
│ │ ├── photo
│ │ ├── cuda.hpp
│ │ ├── legacy
│ │ │ └── constants_c.h
│ │ └── photo.hpp
│ │ ├── stitching.hpp
│ │ ├── stitching
│ │ ├── detail
│ │ │ ├── autocalib.hpp
│ │ │ ├── blenders.hpp
│ │ │ ├── camera.hpp
│ │ │ ├── exposure_compensate.hpp
│ │ │ ├── matchers.hpp
│ │ │ ├── motion_estimators.hpp
│ │ │ ├── seam_finders.hpp
│ │ │ ├── timelapsers.hpp
│ │ │ ├── util.hpp
│ │ │ ├── util_inl.hpp
│ │ │ ├── warpers.hpp
│ │ │ └── warpers_inl.hpp
│ │ └── warpers.hpp
│ │ ├── video.hpp
│ │ ├── video
│ │ ├── background_segm.hpp
│ │ ├── detail
│ │ │ └── tracking.detail.hpp
│ │ ├── legacy
│ │ │ └── constants_c.h
│ │ ├── tracking.hpp
│ │ └── video.hpp
│ │ ├── videoio.hpp
│ │ └── videoio
│ │ ├── cap_ios.h
│ │ ├── legacy
│ │ └── constants_c.h
│ │ ├── registry.hpp
│ │ ├── videoio.hpp
│ │ └── videoio_c.h
├── opencv_flutter_ffi_android.iml
├── settings.gradle
└── src
│ └── main
│ └── jniLibs
│ ├── arm64-v8a
│ └── libopencv_java4.so
│ ├── armeabi-v7a
│ └── libopencv_java4.so
│ ├── x86
│ └── libopencv_java4.so
│ └── x86_64
│ └── libopencv_java4.so
├── assets
└── img
│ └── default.jpg
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── Icon-App-1024x1024@1x.png
│ │ ├── Icon-App-20x20@1x.png
│ │ ├── Icon-App-20x20@2x.png
│ │ ├── Icon-App-20x20@3x.png
│ │ ├── Icon-App-29x29@1x.png
│ │ ├── Icon-App-29x29@2x.png
│ │ ├── Icon-App-29x29@3x.png
│ │ ├── Icon-App-40x40@1x.png
│ │ ├── Icon-App-40x40@2x.png
│ │ ├── Icon-App-40x40@3x.png
│ │ ├── Icon-App-60x60@2x.png
│ │ ├── Icon-App-60x60@3x.png
│ │ ├── Icon-App-76x76@1x.png
│ │ ├── Icon-App-76x76@2x.png
│ │ └── Icon-App-83.5x83.5@2x.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── generated_plugin_registrant.dart
├── livecamera.dart
├── main.dart
└── opencv-cpp
│ ├── gaussian.cpp
│ ├── image_ffi.cpp
│ └── main.cpp
├── opencv_flutter_ffi.iml
├── pubspec.yaml
├── test
└── widget_test.dart
└── web
├── favicon.png
├── icons
├── Icon-192.png
└── Icon-512.png
├── index.html
└── manifest.json
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .vscode/
3 | android/app/.cxx/
4 | .flutter-plugins
5 | .flutter-plugins-dependencies
6 | ios/opencv2.framework
7 | # See https://www.dartlang.org/guides/libraries/private-files
8 |
9 | # Files and directories created by pub
10 | .dart_tool/
11 | .packages
12 | build/
13 | # If you're building an application, you may want to check-in your pubspec.lock
14 | pubspec.lock
15 |
16 | # Directory created by dartdoc
17 | # If you don't generate documentation locally you can remove this line.
18 | doc/api/
19 |
20 | # Avoid committing generated Javascript files:
21 | *.dart.js
22 | *.info.json # Produced by the --dump-info flag.
23 | *.js # When generated by dart2js. Don't specify *.js if your
24 | # project includes source files written in JavaScript.
25 | *.js_
26 | *.js.deps
27 | *.js.map
28 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Aditya Singh
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # opencv_flutter_ffi
2 |
3 | Uses dart:ffi to run OpenCV C++ 4.5.3 on Flutter App.
4 |
5 | Provided release with a sample gaussian blur function. Can use this repo as a template for projects needing image processing on flutter.
6 |
7 | Please install OpenCV iOS Framework and put it at location ios/opencv2.framework
8 |
9 | ## References
10 | * [OpenCV iOS Framework](https://sourceforge.net/projects/opencvlibrary/files/4.5.3/opencv-4.5.3-ios-framework.zip/download)
11 | * [OpenCV Android Framework](https://sourceforge.net/projects/opencvlibrary/files/4.5.3/opencv-4.5.3-android-sdk.zip/download)
12 | * [About FFI](https://www.youtube.com/watch?v=2MMK7YoFgaA)
13 | * [Android config](https://www.flutterclutter.dev/flutter/tutorials/implementing-edge-detection-in-flutter/2020/1509/)
14 | * [iOS config](https://www.raywenderlich.com/21512310-calling-native-libraries-in-flutter-with-dart-ffi#toc-anchor-015)
15 | * [Flutter CameraController](https://flutter.dev/docs/cookbook/plugins/picture-using-camera)
16 | * [Flutter startImageStream](https://pub.dev/documentation/camera/latest/camera/CameraController/startImageStream.html)
17 | * [Image Format Group](https://github.com/flutter/flutter/issues/26348#issuecomment-796566914)
18 | ## Known Issues
19 |
20 | * [image_picker crashes when picking images on simulator running on Apple Silicon M1 #71943](https://github.com/flutter/flutter/issues/71943)
21 | * [Some plugins breaks on release mode on Android #78625](https://github.com/flutter/flutter/issues/78625)
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 |
--------------------------------------------------------------------------------
/android/app/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.6.0)
2 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include)
3 | add_library(lib_opencv SHARED IMPORTED)
4 | set_target_properties(lib_opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../src/main/jniLibs/${ANDROID_ABI}/libopencv_java4.so)
5 | set(SOURCES
6 | ../../lib/opencv-cpp/main.cpp
7 | )
8 | add_library(OpenCV_ffi SHARED ${SOURCES})
9 | target_link_libraries(OpenCV_ffi lib_opencv)
10 |
--------------------------------------------------------------------------------
/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 33
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | defaultConfig {
36 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
37 | applicationId "com.example.opencv_flutter_ffi"
38 | minSdkVersion 21
39 | targetSdkVersion 30
40 | versionCode flutterVersionCode.toInteger()
41 | versionName flutterVersionName
42 | }
43 |
44 | buildTypes {
45 | release {
46 | // TODO: Add your own signing config for the release build.
47 | // Signing with the debug keys for now, so `flutter run --release` works.
48 | signingConfig signingConfigs.debug
49 | }
50 | }
51 |
52 | externalNativeBuild {
53 | cmake {
54 | path "CMakeLists.txt"
55 | }
56 | }
57 |
58 | defaultConfig {
59 | externalNativeBuild {
60 | cmake {
61 | cppFlags '-frtti -fexceptions -std=c++17'
62 | arguments "-DANDROID_STL=c++_shared"
63 | }
64 | }
65 | }
66 | }
67 |
68 | flutter {
69 | source '../..'
70 | }
71 |
72 | dependencies {
73 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
74 | }
75 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
13 |
17 |
21 |
26 |
30 |
31 |
32 |
33 |
34 |
35 |
37 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/opencv_flutter_ffi/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.opencv_flutter_ffi
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
15 |
18 |
19 |
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.6.10'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:4.1.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | jcenter()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | project.evaluationDependsOn(':app')
25 | }
26 |
27 | task clean(type: Delete) {
28 | delete rootProject.buildDir
29 | }
30 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
7 |
--------------------------------------------------------------------------------
/android/include/opencv2/calib3d/calib3d.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/calib3d.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/bufferpool.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2014, Advanced Micro Devices, Inc., all rights reserved.
6 |
7 | #ifndef OPENCV_CORE_BUFFER_POOL_HPP
8 | #define OPENCV_CORE_BUFFER_POOL_HPP
9 |
10 | #ifdef _MSC_VER
11 | #pragma warning(push)
12 | #pragma warning(disable: 4265)
13 | #endif
14 |
15 | namespace cv
16 | {
17 |
18 | //! @addtogroup core
19 | //! @{
20 |
21 | class BufferPoolController
22 | {
23 | protected:
24 | ~BufferPoolController() { }
25 | public:
26 | virtual size_t getReservedSize() const = 0;
27 | virtual size_t getMaxReservedSize() const = 0;
28 | virtual void setMaxReservedSize(size_t size) = 0;
29 | virtual void freeAllReservedBuffers() = 0;
30 | };
31 |
32 | //! @}
33 |
34 | }
35 |
36 | #ifdef _MSC_VER
37 | #pragma warning(pop)
38 | #endif
39 |
40 | #endif // OPENCV_CORE_BUFFER_POOL_HPP
41 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/core.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/core.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/detail/async_promise.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_CORE_ASYNC_PROMISE_HPP
6 | #define OPENCV_CORE_ASYNC_PROMISE_HPP
7 |
8 | #include "../async.hpp"
9 |
10 | #include "exception_ptr.hpp"
11 |
12 | namespace cv {
13 |
14 | /** @addtogroup core_async
15 | @{
16 | */
17 |
18 |
19 | /** @brief Provides result of asynchronous operations
20 |
21 | */
22 | class CV_EXPORTS AsyncPromise
23 | {
24 | public:
25 | ~AsyncPromise() CV_NOEXCEPT;
26 | AsyncPromise() CV_NOEXCEPT;
27 | explicit AsyncPromise(const AsyncPromise& o) CV_NOEXCEPT;
28 | AsyncPromise& operator=(const AsyncPromise& o) CV_NOEXCEPT;
29 | void release() CV_NOEXCEPT;
30 |
31 | /** Returns associated AsyncArray
32 | @note Can be called once
33 | */
34 | AsyncArray getArrayResult();
35 |
36 | /** Stores asynchronous result.
37 | @param[in] value result
38 | */
39 | void setValue(InputArray value);
40 |
41 | // TODO "move" setters
42 |
43 | #if CV__EXCEPTION_PTR
44 | /** Stores exception.
45 | @param[in] exception exception to be raised in AsyncArray
46 | */
47 | void setException(std::exception_ptr exception);
48 | #endif
49 |
50 | /** Stores exception.
51 | @param[in] exception exception to be raised in AsyncArray
52 | */
53 | void setException(const cv::Exception& exception);
54 |
55 | #ifdef CV_CXX11
56 | explicit AsyncPromise(AsyncPromise&& o) { p = o.p; o.p = NULL; }
57 | AsyncPromise& operator=(AsyncPromise&& o) CV_NOEXCEPT { std::swap(p, o.p); return *this; }
58 | #endif
59 |
60 |
61 | // PImpl
62 | typedef struct AsyncArray::Impl Impl; friend struct AsyncArray::Impl;
63 | inline void* _getImpl() const CV_NOEXCEPT { return p; }
64 | protected:
65 | Impl* p;
66 | };
67 |
68 |
69 | //! @}
70 | } // namespace
71 | #endif // OPENCV_CORE_ASYNC_PROMISE_HPP
72 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/detail/exception_ptr.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_CORE_DETAILS_EXCEPTION_PTR_H
6 | #define OPENCV_CORE_DETAILS_EXCEPTION_PTR_H
7 |
8 | #ifndef CV__EXCEPTION_PTR
9 | # if defined(__ANDROID__) && defined(ATOMIC_INT_LOCK_FREE) && ATOMIC_INT_LOCK_FREE < 2
10 | # define CV__EXCEPTION_PTR 0 // Not supported, details: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938
11 | # elif defined(CV_CXX11)
12 | # define CV__EXCEPTION_PTR 1
13 | # elif defined(_MSC_VER)
14 | # define CV__EXCEPTION_PTR (_MSC_VER >= 1600)
15 | # elif defined(__clang__)
16 | # define CV__EXCEPTION_PTR 0 // C++11 only (see above)
17 | # elif defined(__GNUC__) && defined(__GXX_EXPERIMENTAL_CXX0X__)
18 | # define CV__EXCEPTION_PTR (__GXX_EXPERIMENTAL_CXX0X__ > 0)
19 | # endif
20 | #endif
21 | #ifndef CV__EXCEPTION_PTR
22 | # define CV__EXCEPTION_PTR 0
23 | #elif CV__EXCEPTION_PTR
24 | # include // std::exception_ptr
25 | #endif
26 |
27 | #endif // OPENCV_CORE_DETAILS_EXCEPTION_PTR_H
28 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/ocl_genbase.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
14 | // Third party copyrights are property of their respective owners.
15 | //
16 | // Redistribution and use in source and binary forms, with or without modification,
17 | // are permitted provided that the following conditions are met:
18 | //
19 | // * Redistribution's of source code must retain the above copyright notice,
20 | // this list of conditions and the following disclaimer.
21 | //
22 | // * Redistribution's in binary form must reproduce the above copyright notice,
23 | // this list of conditions and the following disclaimer in the documentation
24 | // and/or other materials provided with the distribution.
25 | //
26 | // * The name of the copyright holders may not be used to endorse or promote products
27 | // derived from this software without specific prior written permission.
28 | //
29 | // This software is provided by the copyright holders and contributors "as is" and
30 | // any express or implied warranties, including, but not limited to, the implied
31 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 | // In no event shall the OpenCV Foundation or contributors be liable for any direct,
33 | // indirect, incidental, special, exemplary, or consequential damages
34 | // (including, but not limited to, procurement of substitute goods or services;
35 | // loss of use, data, or profits; or business interruption) however caused
36 | // and on any theory of liability, whether in contract, strict liability,
37 | // or tort (including negligence or otherwise) arising in any way out of
38 | // the use of this software, even if advised of the possibility of such damage.
39 | //
40 | //M*/
41 |
42 | #ifndef OPENCV_OPENCL_GENBASE_HPP
43 | #define OPENCV_OPENCL_GENBASE_HPP
44 |
45 | //! @cond IGNORED
46 |
47 | namespace cv {
48 | namespace ocl {
49 |
50 | class ProgramSource;
51 |
52 | namespace internal {
53 |
54 | struct CV_EXPORTS ProgramEntry
55 | {
56 | const char* module;
57 | const char* name;
58 | const char* programCode;
59 | const char* programHash;
60 | ProgramSource* pProgramSource;
61 |
62 | operator ProgramSource& () const;
63 | };
64 |
65 | } } } // namespace
66 |
67 | //! @endcond
68 |
69 | #endif
70 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/opencl_svm.hpp:
--------------------------------------------------------------------------------
1 | /* See LICENSE file in the root OpenCV directory */
2 |
3 | #ifndef OPENCV_CORE_OPENCL_SVM_HPP
4 | #define OPENCV_CORE_OPENCL_SVM_HPP
5 |
6 | //
7 | // Internal usage only (binary compatibility is not guaranteed)
8 | //
9 | #ifndef __OPENCV_BUILD
10 | #error Internal header file
11 | #endif
12 |
13 | #if defined(HAVE_OPENCL) && defined(HAVE_OPENCL_SVM)
14 | #include "runtime/opencl_core.hpp"
15 | #include "runtime/opencl_svm_20.hpp"
16 | #include "runtime/opencl_svm_hsa_extension.hpp"
17 |
18 | namespace cv { namespace ocl { namespace svm {
19 |
20 | struct SVMCapabilities
21 | {
22 | enum Value
23 | {
24 | SVM_COARSE_GRAIN_BUFFER = (1 << 0),
25 | SVM_FINE_GRAIN_BUFFER = (1 << 1),
26 | SVM_FINE_GRAIN_SYSTEM = (1 << 2),
27 | SVM_ATOMICS = (1 << 3),
28 | };
29 | int value_;
30 |
31 | SVMCapabilities(int capabilities = 0) : value_(capabilities) { }
32 | operator int() const { return value_; }
33 |
34 | inline bool isNoSVMSupport() const { return value_ == 0; }
35 | inline bool isSupportCoarseGrainBuffer() const { return (value_ & SVM_COARSE_GRAIN_BUFFER) != 0; }
36 | inline bool isSupportFineGrainBuffer() const { return (value_ & SVM_FINE_GRAIN_BUFFER) != 0; }
37 | inline bool isSupportFineGrainSystem() const { return (value_ & SVM_FINE_GRAIN_SYSTEM) != 0; }
38 | inline bool isSupportAtomics() const { return (value_ & SVM_ATOMICS) != 0; }
39 | };
40 |
41 | CV_EXPORTS const SVMCapabilities getSVMCapabilitites(const ocl::Context& context);
42 |
43 | struct SVMFunctions
44 | {
45 | clSVMAllocAMD_fn fn_clSVMAlloc;
46 | clSVMFreeAMD_fn fn_clSVMFree;
47 | clSetKernelArgSVMPointerAMD_fn fn_clSetKernelArgSVMPointer;
48 | //clSetKernelExecInfoAMD_fn fn_clSetKernelExecInfo;
49 | //clEnqueueSVMFreeAMD_fn fn_clEnqueueSVMFree;
50 | clEnqueueSVMMemcpyAMD_fn fn_clEnqueueSVMMemcpy;
51 | clEnqueueSVMMemFillAMD_fn fn_clEnqueueSVMMemFill;
52 | clEnqueueSVMMapAMD_fn fn_clEnqueueSVMMap;
53 | clEnqueueSVMUnmapAMD_fn fn_clEnqueueSVMUnmap;
54 |
55 | inline SVMFunctions()
56 | : fn_clSVMAlloc(NULL), fn_clSVMFree(NULL),
57 | fn_clSetKernelArgSVMPointer(NULL), /*fn_clSetKernelExecInfo(NULL),*/
58 | /*fn_clEnqueueSVMFree(NULL),*/ fn_clEnqueueSVMMemcpy(NULL), fn_clEnqueueSVMMemFill(NULL),
59 | fn_clEnqueueSVMMap(NULL), fn_clEnqueueSVMUnmap(NULL)
60 | {
61 | // nothing
62 | }
63 |
64 | inline bool isValid() const
65 | {
66 | return fn_clSVMAlloc != NULL && fn_clSVMFree && fn_clSetKernelArgSVMPointer &&
67 | /*fn_clSetKernelExecInfo && fn_clEnqueueSVMFree &&*/ fn_clEnqueueSVMMemcpy &&
68 | fn_clEnqueueSVMMemFill && fn_clEnqueueSVMMap && fn_clEnqueueSVMUnmap;
69 | }
70 | };
71 |
72 | // We should guarantee that SVMFunctions lifetime is not less than context's lifetime
73 | CV_EXPORTS const SVMFunctions* getSVMFunctions(const ocl::Context& context);
74 |
75 | CV_EXPORTS bool useSVM(UMatUsageFlags usageFlags);
76 |
77 | }}} //namespace cv::ocl::svm
78 | #endif
79 |
80 | #endif // OPENCV_CORE_OPENCL_SVM_HPP
81 | /* End of file. */
82 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/autogenerated/opencl_gl_wrappers.hpp:
--------------------------------------------------------------------------------
1 | //
2 | // AUTOGENERATED, DO NOT EDIT
3 | //
4 | #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP
5 | #error "Invalid usage"
6 | #endif
7 |
8 | #ifdef cl_khr_gl_sharing
9 |
10 | // generated by parser_cl.py
11 | #undef clCreateFromGLBuffer
12 | #define clCreateFromGLBuffer clCreateFromGLBuffer_fn
13 | inline cl_mem clCreateFromGLBuffer(cl_context p0, cl_mem_flags p1, cl_GLuint p2, int* p3) { return clCreateFromGLBuffer_pfn(p0, p1, p2, p3); }
14 | #undef clCreateFromGLRenderbuffer
15 | #define clCreateFromGLRenderbuffer clCreateFromGLRenderbuffer_fn
16 | inline cl_mem clCreateFromGLRenderbuffer(cl_context p0, cl_mem_flags p1, cl_GLuint p2, cl_int* p3) { return clCreateFromGLRenderbuffer_pfn(p0, p1, p2, p3); }
17 | #undef clCreateFromGLTexture
18 | #define clCreateFromGLTexture clCreateFromGLTexture_fn
19 | inline cl_mem clCreateFromGLTexture(cl_context p0, cl_mem_flags p1, cl_GLenum p2, cl_GLint p3, cl_GLuint p4, cl_int* p5) { return clCreateFromGLTexture_pfn(p0, p1, p2, p3, p4, p5); }
20 | #undef clCreateFromGLTexture2D
21 | #define clCreateFromGLTexture2D clCreateFromGLTexture2D_fn
22 | inline cl_mem clCreateFromGLTexture2D(cl_context p0, cl_mem_flags p1, cl_GLenum p2, cl_GLint p3, cl_GLuint p4, cl_int* p5) { return clCreateFromGLTexture2D_pfn(p0, p1, p2, p3, p4, p5); }
23 | #undef clCreateFromGLTexture3D
24 | #define clCreateFromGLTexture3D clCreateFromGLTexture3D_fn
25 | inline cl_mem clCreateFromGLTexture3D(cl_context p0, cl_mem_flags p1, cl_GLenum p2, cl_GLint p3, cl_GLuint p4, cl_int* p5) { return clCreateFromGLTexture3D_pfn(p0, p1, p2, p3, p4, p5); }
26 | #undef clEnqueueAcquireGLObjects
27 | #define clEnqueueAcquireGLObjects clEnqueueAcquireGLObjects_fn
28 | inline cl_int clEnqueueAcquireGLObjects(cl_command_queue p0, cl_uint p1, const cl_mem* p2, cl_uint p3, const cl_event* p4, cl_event* p5) { return clEnqueueAcquireGLObjects_pfn(p0, p1, p2, p3, p4, p5); }
29 | #undef clEnqueueReleaseGLObjects
30 | #define clEnqueueReleaseGLObjects clEnqueueReleaseGLObjects_fn
31 | inline cl_int clEnqueueReleaseGLObjects(cl_command_queue p0, cl_uint p1, const cl_mem* p2, cl_uint p3, const cl_event* p4, cl_event* p5) { return clEnqueueReleaseGLObjects_pfn(p0, p1, p2, p3, p4, p5); }
32 | #undef clGetGLContextInfoKHR
33 | #define clGetGLContextInfoKHR clGetGLContextInfoKHR_fn
34 | inline cl_int clGetGLContextInfoKHR(const cl_context_properties* p0, cl_gl_context_info p1, size_t p2, void* p3, size_t* p4) { return clGetGLContextInfoKHR_pfn(p0, p1, p2, p3, p4); }
35 | #undef clGetGLObjectInfo
36 | #define clGetGLObjectInfo clGetGLObjectInfo_fn
37 | inline cl_int clGetGLObjectInfo(cl_mem p0, cl_gl_object_type* p1, cl_GLuint* p2) { return clGetGLObjectInfo_pfn(p0, p1, p2); }
38 | #undef clGetGLTextureInfo
39 | #define clGetGLTextureInfo clGetGLTextureInfo_fn
40 | inline cl_int clGetGLTextureInfo(cl_mem p0, cl_gl_texture_info p1, size_t p2, void* p3, size_t* p4) { return clGetGLTextureInfo_pfn(p0, p1, p2, p3, p4); }
41 |
42 | #endif // cl_khr_gl_sharing
43 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_clblas.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
14 | // Third party copyrights are property of their respective owners.
15 | //
16 | // Redistribution and use in source and binary forms, with or without modification,
17 | // are permitted provided that the following conditions are met:
18 | //
19 | // * Redistribution's of source code must retain the above copyright notice,
20 | // this list of conditions and the following disclaimer.
21 | //
22 | // * Redistribution's in binary form must reproduce the above copyright notice,
23 | // this list of conditions and the following disclaimer in the documentation
24 | // and/or other materials provided with the distribution.
25 | //
26 | // * The name of the copyright holders may not be used to endorse or promote products
27 | // derived from this software without specific prior written permission.
28 | //
29 | // This software is provided by the copyright holders and contributors "as is" and
30 | // any express or implied warranties, including, but not limited to, the implied
31 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 | // In no event shall the OpenCV Foundation or contributors be liable for any direct,
33 | // indirect, incidental, special, exemplary, or consequential damages
34 | // (including, but not limited to, procurement of substitute goods or services;
35 | // loss of use, data, or profits; or business interruption) however caused
36 | // and on any theory of liability, whether in contract, strict liability,
37 | // or tort (including negligence or otherwise) arising in any way out of
38 | // the use of this software, even if advised of the possibility of such damage.
39 | //
40 | //M*/
41 |
42 | #ifndef OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP
43 | #define OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP
44 |
45 | #ifdef HAVE_CLAMDBLAS
46 |
47 | #include "opencl_core.hpp"
48 |
49 | #include "autogenerated/opencl_clblas.hpp"
50 |
51 | #endif // HAVE_CLAMDBLAS
52 |
53 | #endif // OPENCV_CORE_OCL_RUNTIME_CLAMDBLAS_HPP
54 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_clfft.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
14 | // Third party copyrights are property of their respective owners.
15 | //
16 | // Redistribution and use in source and binary forms, with or without modification,
17 | // are permitted provided that the following conditions are met:
18 | //
19 | // * Redistribution's of source code must retain the above copyright notice,
20 | // this list of conditions and the following disclaimer.
21 | //
22 | // * Redistribution's in binary form must reproduce the above copyright notice,
23 | // this list of conditions and the following disclaimer in the documentation
24 | // and/or other materials provided with the distribution.
25 | //
26 | // * The name of the copyright holders may not be used to endorse or promote products
27 | // derived from this software without specific prior written permission.
28 | //
29 | // This software is provided by the copyright holders and contributors "as is" and
30 | // any express or implied warranties, including, but not limited to, the implied
31 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 | // In no event shall the OpenCV Foundation or contributors be liable for any direct,
33 | // indirect, incidental, special, exemplary, or consequential damages
34 | // (including, but not limited to, procurement of substitute goods or services;
35 | // loss of use, data, or profits; or business interruption) however caused
36 | // and on any theory of liability, whether in contract, strict liability,
37 | // or tort (including negligence or otherwise) arising in any way out of
38 | // the use of this software, even if advised of the possibility of such damage.
39 | //
40 | //M*/
41 |
42 | #ifndef OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP
43 | #define OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP
44 |
45 | #ifdef HAVE_CLAMDFFT
46 |
47 | #include "opencl_core.hpp"
48 |
49 | #include "autogenerated/opencl_clfft.hpp"
50 |
51 | #endif // HAVE_CLAMDFFT
52 |
53 | #endif // OPENCV_CORE_OCL_RUNTIME_CLAMDFFT_HPP
54 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_core_wrappers.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
14 | // Third party copyrights are property of their respective owners.
15 | //
16 | // Redistribution and use in source and binary forms, with or without modification,
17 | // are permitted provided that the following conditions are met:
18 | //
19 | // * Redistribution's of source code must retain the above copyright notice,
20 | // this list of conditions and the following disclaimer.
21 | //
22 | // * Redistribution's in binary form must reproduce the above copyright notice,
23 | // this list of conditions and the following disclaimer in the documentation
24 | // and/or other materials provided with the distribution.
25 | //
26 | // * The name of the copyright holders may not be used to endorse or promote products
27 | // derived from this software without specific prior written permission.
28 | //
29 | // This software is provided by the copyright holders and contributors "as is" and
30 | // any express or implied warranties, including, but not limited to, the implied
31 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 | // In no event shall the OpenCV Foundation or contributors be liable for any direct,
33 | // indirect, incidental, special, exemplary, or consequential damages
34 | // (including, but not limited to, procurement of substitute goods or services;
35 | // loss of use, data, or profits; or business interruption) however caused
36 | // and on any theory of liability, whether in contract, strict liability,
37 | // or tort (including negligence or otherwise) arising in any way out of
38 | // the use of this software, even if advised of the possibility of such damage.
39 | //
40 | //M*/
41 |
42 | #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP
43 | #define OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP
44 |
45 | #include "autogenerated/opencl_core_wrappers.hpp"
46 |
47 | #endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_WRAPPERS_HPP
48 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_gl.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
14 | // Third party copyrights are property of their respective owners.
15 | //
16 | // Redistribution and use in source and binary forms, with or without modification,
17 | // are permitted provided that the following conditions are met:
18 | //
19 | // * Redistribution's of source code must retain the above copyright notice,
20 | // this list of conditions and the following disclaimer.
21 | //
22 | // * Redistribution's in binary form must reproduce the above copyright notice,
23 | // this list of conditions and the following disclaimer in the documentation
24 | // and/or other materials provided with the distribution.
25 | //
26 | // * The name of the copyright holders may not be used to endorse or promote products
27 | // derived from this software without specific prior written permission.
28 | //
29 | // This software is provided by the copyright holders and contributors "as is" and
30 | // any express or implied warranties, including, but not limited to, the implied
31 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 | // In no event shall the OpenCV Foundation or contributors be liable for any direct,
33 | // indirect, incidental, special, exemplary, or consequential damages
34 | // (including, but not limited to, procurement of substitute goods or services;
35 | // loss of use, data, or profits; or business interruption) however caused
36 | // and on any theory of liability, whether in contract, strict liability,
37 | // or tort (including negligence or otherwise) arising in any way out of
38 | // the use of this software, even if advised of the possibility of such damage.
39 | //
40 | //M*/
41 |
42 | #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP
43 | #define OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP
44 |
45 | #if defined HAVE_OPENCL && defined HAVE_OPENGL
46 |
47 | #include "opencl_core.hpp"
48 |
49 | #include "autogenerated/opencl_gl.hpp"
50 |
51 | #endif // defined HAVE_OPENCL && defined HAVE_OPENGL
52 |
53 | #endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_HPP
54 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_gl_wrappers.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
14 | // Third party copyrights are property of their respective owners.
15 | //
16 | // Redistribution and use in source and binary forms, with or without modification,
17 | // are permitted provided that the following conditions are met:
18 | //
19 | // * Redistribution's of source code must retain the above copyright notice,
20 | // this list of conditions and the following disclaimer.
21 | //
22 | // * Redistribution's in binary form must reproduce the above copyright notice,
23 | // this list of conditions and the following disclaimer in the documentation
24 | // and/or other materials provided with the distribution.
25 | //
26 | // * The name of the copyright holders may not be used to endorse or promote products
27 | // derived from this software without specific prior written permission.
28 | //
29 | // This software is provided by the copyright holders and contributors "as is" and
30 | // any express or implied warranties, including, but not limited to, the implied
31 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
32 | // In no event shall the OpenCV Foundation or contributors be liable for any direct,
33 | // indirect, incidental, special, exemplary, or consequential damages
34 | // (including, but not limited to, procurement of substitute goods or services;
35 | // loss of use, data, or profits; or business interruption) however caused
36 | // and on any theory of liability, whether in contract, strict liability,
37 | // or tort (including negligence or otherwise) arising in any way out of
38 | // the use of this software, even if advised of the possibility of such damage.
39 | //
40 | //M*/
41 |
42 | #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP
43 | #define OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP
44 |
45 | #include "autogenerated/opencl_gl_wrappers.hpp"
46 |
47 | #endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_GL_WRAPPERS_HPP
48 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_svm_20.hpp:
--------------------------------------------------------------------------------
1 | /* See LICENSE file in the root OpenCV directory */
2 |
3 | #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP
4 | #define OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP
5 |
6 | #if defined(HAVE_OPENCL_SVM)
7 | #include "opencl_core.hpp"
8 |
9 | #include "opencl_svm_definitions.hpp"
10 |
11 | #undef clSVMAlloc
12 | #define clSVMAlloc clSVMAlloc_pfn
13 | #undef clSVMFree
14 | #define clSVMFree clSVMFree_pfn
15 | #undef clSetKernelArgSVMPointer
16 | #define clSetKernelArgSVMPointer clSetKernelArgSVMPointer_pfn
17 | #undef clSetKernelExecInfo
18 | //#define clSetKernelExecInfo clSetKernelExecInfo_pfn
19 | #undef clEnqueueSVMFree
20 | //#define clEnqueueSVMFree clEnqueueSVMFree_pfn
21 | #undef clEnqueueSVMMemcpy
22 | #define clEnqueueSVMMemcpy clEnqueueSVMMemcpy_pfn
23 | #undef clEnqueueSVMMemFill
24 | #define clEnqueueSVMMemFill clEnqueueSVMMemFill_pfn
25 | #undef clEnqueueSVMMap
26 | #define clEnqueueSVMMap clEnqueueSVMMap_pfn
27 | #undef clEnqueueSVMUnmap
28 | #define clEnqueueSVMUnmap clEnqueueSVMUnmap_pfn
29 |
30 | extern CL_RUNTIME_EXPORT void* (CL_API_CALL *clSVMAlloc)(cl_context context, cl_svm_mem_flags flags, size_t size, unsigned int alignment);
31 | extern CL_RUNTIME_EXPORT void (CL_API_CALL *clSVMFree)(cl_context context, void* svm_pointer);
32 | extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clSetKernelArgSVMPointer)(cl_kernel kernel, cl_uint arg_index, const void* arg_value);
33 | //extern CL_RUNTIME_EXPORT void* (CL_API_CALL *clSetKernelExecInfo)(cl_kernel kernel, cl_kernel_exec_info param_name, size_t param_value_size, const void* param_value);
34 | //extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMFree)(cl_command_queue command_queue, cl_uint num_svm_pointers, void* svm_pointers[],
35 | // void (CL_CALLBACK *pfn_free_func)(cl_command_queue queue, cl_uint num_svm_pointers, void* svm_pointers[], void* user_data), void* user_data,
36 | // cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event);
37 | extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMemcpy)(cl_command_queue command_queue, cl_bool blocking_copy, void* dst_ptr, const void* src_ptr, size_t size,
38 | cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event);
39 | extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMemFill)(cl_command_queue command_queue, void* svm_ptr, const void* pattern, size_t pattern_size, size_t size,
40 | cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event);
41 | extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMMap)(cl_command_queue command_queue, cl_bool blocking_map, cl_map_flags map_flags, void* svm_ptr, size_t size,
42 | cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event);
43 | extern CL_RUNTIME_EXPORT cl_int (CL_API_CALL *clEnqueueSVMUnmap)(cl_command_queue command_queue, void* svm_ptr,
44 | cl_uint num_events_in_wait_list, const cl_event* event_wait_list, cl_event* event);
45 |
46 | #endif // HAVE_OPENCL_SVM
47 |
48 | #endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_2_0_HPP
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/opencl/runtime/opencl_svm_definitions.hpp:
--------------------------------------------------------------------------------
1 | /* See LICENSE file in the root OpenCV directory */
2 |
3 | #ifndef OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_DEFINITIONS_HPP
4 | #define OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_DEFINITIONS_HPP
5 |
6 | #if defined(HAVE_OPENCL_SVM)
7 | #if defined(CL_VERSION_2_0)
8 |
9 | // OpenCL 2.0 contains SVM definitions
10 |
11 | #else
12 |
13 | typedef cl_bitfield cl_device_svm_capabilities;
14 | typedef cl_bitfield cl_svm_mem_flags;
15 | typedef cl_uint cl_kernel_exec_info;
16 |
17 | //
18 | // TODO Add real values after OpenCL 2.0 release
19 | //
20 |
21 | #ifndef CL_DEVICE_SVM_CAPABILITIES
22 | #define CL_DEVICE_SVM_CAPABILITIES 0x1053
23 |
24 | #define CL_DEVICE_SVM_COARSE_GRAIN_BUFFER (1 << 0)
25 | #define CL_DEVICE_SVM_FINE_GRAIN_BUFFER (1 << 1)
26 | #define CL_DEVICE_SVM_FINE_GRAIN_SYSTEM (1 << 2)
27 | #define CL_DEVICE_SVM_ATOMICS (1 << 3)
28 | #endif
29 |
30 | #ifndef CL_MEM_SVM_FINE_GRAIN_BUFFER
31 | #define CL_MEM_SVM_FINE_GRAIN_BUFFER (1 << 10)
32 | #endif
33 |
34 | #ifndef CL_MEM_SVM_ATOMICS
35 | #define CL_MEM_SVM_ATOMICS (1 << 11)
36 | #endif
37 |
38 |
39 | #endif // CL_VERSION_2_0
40 | #endif // HAVE_OPENCL_SVM
41 |
42 | #endif // OPENCV_CORE_OCL_RUNTIME_OPENCL_SVM_DEFINITIONS_HPP
43 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/ovx.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | // Copyright (C) 2016, Intel Corporation, all rights reserved.
6 | // Third party copyrights are property of their respective owners.
7 |
8 | // OpenVX related definitions and declarations
9 |
10 | #pragma once
11 | #ifndef OPENCV_OVX_HPP
12 | #define OPENCV_OVX_HPP
13 |
14 | #include "cvdef.h"
15 |
16 | namespace cv
17 | {
18 | /// Check if use of OpenVX is possible
19 | CV_EXPORTS_W bool haveOpenVX();
20 |
21 | /// Check if use of OpenVX is enabled
22 | CV_EXPORTS_W bool useOpenVX();
23 |
24 | /// Enable/disable use of OpenVX
25 | CV_EXPORTS_W void setUseOpenVX(bool flag);
26 | } // namespace cv
27 |
28 | #endif // OPENCV_OVX_HPP
29 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_CORE_PARALLEL_FOR_OPENMP_HPP
6 | #define OPENCV_CORE_PARALLEL_FOR_OPENMP_HPP
7 |
8 | #include "opencv2/core/parallel/parallel_backend.hpp"
9 |
10 | #if !defined(_OPENMP) && !defined(OPENCV_SKIP_OPENMP_PRESENSE_CHECK)
11 | #error "This file must be compiled with enabled OpenMP"
12 | #endif
13 |
14 | #include
15 |
16 | namespace cv { namespace parallel { namespace openmp {
17 |
18 | /** OpenMP parallel_for API implementation
19 | *
20 | * @sa setParallelForBackend
21 | * @ingroup core_parallel_backend
22 | */
23 | class ParallelForBackend : public ParallelForAPI
24 | {
25 | protected:
26 | int numThreads;
27 | int numThreadsMax;
28 | public:
29 | ParallelForBackend()
30 | {
31 | numThreads = 0;
32 | numThreadsMax = omp_get_max_threads();
33 | }
34 |
35 | virtual ~ParallelForBackend() {}
36 |
37 | virtual void parallel_for(int tasks, FN_parallel_for_body_cb_t body_callback, void* callback_data) CV_OVERRIDE
38 | {
39 | #pragma omp parallel for schedule(dynamic) num_threads(numThreads > 0 ? numThreads : numThreadsMax)
40 | for (int i = 0; i < tasks; ++i)
41 | body_callback(i, i + 1, callback_data);
42 | }
43 |
44 | virtual int getThreadNum() const CV_OVERRIDE
45 | {
46 | return omp_get_thread_num();
47 | }
48 |
49 | virtual int getNumThreads() const CV_OVERRIDE
50 | {
51 | return numThreads > 0
52 | ? numThreads
53 | : numThreadsMax;
54 | }
55 |
56 | virtual int setNumThreads(int nThreads) CV_OVERRIDE
57 | {
58 | int oldNumThreads = numThreads;
59 | numThreads = nThreads;
60 | // nothing needed as numThreads is used in #pragma omp parallel for directly
61 | return oldNumThreads;
62 | }
63 |
64 | const char* getName() const CV_OVERRIDE
65 | {
66 | return "openmp";
67 | }
68 | };
69 |
70 | }}} // namespace
71 |
72 | #endif // OPENCV_CORE_PARALLEL_FOR_OPENMP_HPP
73 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/simd_intrinsics.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_CORE_SIMD_INTRINSICS_HPP
6 | #define OPENCV_CORE_SIMD_INTRINSICS_HPP
7 |
8 | /**
9 | Helper header to support SIMD intrinsics (universal intrinsics) in user code.
10 | Intrinsics documentation: https://docs.opencv.org/master/df/d91/group__core__hal__intrin.html
11 |
12 |
13 | Checks of target CPU instruction set based on compiler definitions don't work well enough.
14 | More reliable solutions require utilization of configuration systems (like CMake).
15 |
16 | So, probably you need to specify your own configuration.
17 |
18 | You can do that via CMake in this way:
19 | add_definitions(/DOPENCV_SIMD_CONFIG_HEADER=opencv_simd_config_custom.hpp)
20 | or
21 | add_definitions(/DOPENCV_SIMD_CONFIG_INCLUDE_DIR=1)
22 |
23 | Additionally you may need to add include directory to your files:
24 | include_directories("${CMAKE_CURRENT_LIST_DIR}/opencv_config_${MYTARGET}")
25 |
26 | These files can be pre-generated for target configurations of your application
27 | or generated by CMake on the fly (use CMAKE_BINARY_DIR for that).
28 |
29 | Notes:
30 | - H/W capability checks are still responsibility of your application
31 | - runtime dispatching is not covered by this helper header
32 | */
33 |
34 | #ifdef __OPENCV_BUILD
35 | #error "Use core/hal/intrin.hpp during OpenCV build"
36 | #endif
37 |
38 | #ifdef OPENCV_HAL_INTRIN_HPP
39 | #error "core/simd_intrinsics.hpp must be included before core/hal/intrin.hpp"
40 | #endif
41 |
42 | #include "opencv2/core/cvdef.h"
43 |
44 | #ifdef OPENCV_SIMD_CONFIG_HEADER
45 | #include CVAUX_STR(OPENCV_SIMD_CONFIG_HEADER)
46 | #elif defined(OPENCV_SIMD_CONFIG_INCLUDE_DIR)
47 | #include "opencv_simd_config.hpp" // corresponding directory should be added via -I compiler parameter
48 | #else // custom config headers
49 |
50 | #if (!defined(CV_AVX_512F) || !CV_AVX_512F) && (defined(__AVX512__) || defined(__AVX512F__))
51 | # include
52 | # undef CV_AVX_512F
53 | # define CV_AVX_512F 1
54 | # ifndef OPENCV_SIMD_DONT_ASSUME_SKX // Skylake-X with AVX-512F/CD/BW/DQ/VL
55 | # undef CV_AVX512_SKX
56 | # define CV_AVX512_SKX 1
57 | # undef CV_AVX_512CD
58 | # define CV_AVX_512CD 1
59 | # undef CV_AVX_512BW
60 | # define CV_AVX_512BW 1
61 | # undef CV_AVX_512DQ
62 | # define CV_AVX_512DQ 1
63 | # undef CV_AVX_512VL
64 | # define CV_AVX_512VL 1
65 | # endif
66 | #endif // AVX512
67 |
68 | // GCC/Clang: -mavx2
69 | // MSVC: /arch:AVX2
70 | #if defined __AVX2__
71 | # include
72 | # undef CV_AVX2
73 | # define CV_AVX2 1
74 | # if defined __F16C__
75 | # undef CV_FP16
76 | # define CV_FP16 1
77 | # endif
78 | #endif
79 |
80 | #endif
81 |
82 | // SSE / NEON / VSX is handled by cv_cpu_dispatch.h compatibility block
83 | #include "cv_cpu_dispatch.h"
84 |
85 | #include "hal/intrin.hpp"
86 |
87 | #endif // OPENCV_CORE_SIMD_INTRINSICS_HPP
88 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/utils/allocator_stats.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_CORE_ALLOCATOR_STATS_HPP
6 | #define OPENCV_CORE_ALLOCATOR_STATS_HPP
7 |
8 | #include "../cvdef.h"
9 |
10 | namespace cv { namespace utils {
11 |
12 | class AllocatorStatisticsInterface
13 | {
14 | protected:
15 | AllocatorStatisticsInterface() {}
16 | virtual ~AllocatorStatisticsInterface() {}
17 | public:
18 | virtual uint64_t getCurrentUsage() const = 0;
19 | virtual uint64_t getTotalUsage() const = 0;
20 | virtual uint64_t getNumberOfAllocations() const = 0;
21 | virtual uint64_t getPeakUsage() const = 0;
22 |
23 | /** set peak usage = current usage */
24 | virtual void resetPeakUsage() = 0;
25 | };
26 |
27 | }} // namespace
28 |
29 | #endif // OPENCV_CORE_ALLOCATOR_STATS_HPP
30 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/utils/logger.defines.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_LOGGER_DEFINES_HPP
6 | #define OPENCV_LOGGER_DEFINES_HPP
7 |
8 | //! @addtogroup core_logging
9 | //! @{
10 |
11 | // Supported logging levels and their semantic
12 | #define CV_LOG_LEVEL_SILENT 0 //!< for using in setLogLevel() call
13 | #define CV_LOG_LEVEL_FATAL 1 //!< Fatal (critical) error (unrecoverable internal error)
14 | #define CV_LOG_LEVEL_ERROR 2 //!< Error message
15 | #define CV_LOG_LEVEL_WARN 3 //!< Warning message
16 | #define CV_LOG_LEVEL_INFO 4 //!< Info message
17 | #define CV_LOG_LEVEL_DEBUG 5 //!< Debug message. Disabled in the "Release" build.
18 | #define CV_LOG_LEVEL_VERBOSE 6 //!< Verbose (trace) messages. Requires verbosity level. Disabled in the "Release" build.
19 |
20 | namespace cv {
21 | namespace utils {
22 | namespace logging {
23 |
24 | //! Supported logging levels and their semantic
25 | enum LogLevel {
26 | LOG_LEVEL_SILENT = 0, //!< for using in setLogVevel() call
27 | LOG_LEVEL_FATAL = 1, //!< Fatal (critical) error (unrecoverable internal error)
28 | LOG_LEVEL_ERROR = 2, //!< Error message
29 | LOG_LEVEL_WARNING = 3, //!< Warning message
30 | LOG_LEVEL_INFO = 4, //!< Info message
31 | LOG_LEVEL_DEBUG = 5, //!< Debug message. Disabled in the "Release" build.
32 | LOG_LEVEL_VERBOSE = 6, //!< Verbose (trace) messages. Requires verbosity level. Disabled in the "Release" build.
33 | #ifndef CV_DOXYGEN
34 | ENUM_LOG_LEVEL_FORCE_INT = INT_MAX
35 | #endif
36 | };
37 |
38 | }}} // namespace
39 |
40 | //! @}
41 |
42 | #endif // OPENCV_LOGGER_DEFINES_HPP
43 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/utils/logtag.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_CORE_LOGTAG_HPP
6 | #define OPENCV_CORE_LOGTAG_HPP
7 |
8 | #include "opencv2/core/cvstd.hpp"
9 | #include "logger.defines.hpp"
10 |
11 | namespace cv {
12 | namespace utils {
13 | namespace logging {
14 |
15 | struct LogTag
16 | {
17 | const char* name;
18 | LogLevel level;
19 |
20 | inline LogTag(const char* _name, LogLevel _level)
21 | : name(_name)
22 | , level(_level)
23 | {}
24 | };
25 |
26 | }}}
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/va_intel.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | // Copyright (C) 2015, Itseez, Inc., all rights reserved.
6 | // Third party copyrights are property of their respective owners.
7 |
8 | #ifndef OPENCV_CORE_VA_INTEL_HPP
9 | #define OPENCV_CORE_VA_INTEL_HPP
10 |
11 | #ifndef __cplusplus
12 | # error va_intel.hpp header must be compiled as C++
13 | #endif
14 |
15 | #include "opencv2/core.hpp"
16 | #include "ocl.hpp"
17 |
18 | #if defined(HAVE_VA)
19 | # include "va/va.h"
20 | #else // HAVE_VA
21 | # if !defined(_VA_H_)
22 | typedef void* VADisplay;
23 | typedef unsigned int VASurfaceID;
24 | # endif // !_VA_H_
25 | #endif // HAVE_VA
26 |
27 | namespace cv { namespace va_intel {
28 |
29 | /** @addtogroup core_va_intel
30 | This section describes Intel VA-API/OpenCL (CL-VA) interoperability.
31 |
32 | To enable basic VA interoperability build OpenCV with libva library integration enabled: `-DWITH_VA=ON` (corresponding dev package should be installed).
33 |
34 | To enable advanced CL-VA interoperability support on Intel HW, enable option: `-DWITH_VA_INTEL=ON` (OpenCL integration should be enabled which is the default setting). Special runtime environment should be set up in order to use this feature: correct combination of [libva](https://github.com/intel/libva), [OpenCL runtime](https://github.com/intel/compute-runtime) and [media driver](https://github.com/intel/media-driver) should be installed.
35 |
36 | Check usage example for details: samples/va_intel/va_intel_interop.cpp
37 | */
38 | //! @{
39 |
40 | /////////////////// CL-VA Interoperability Functions ///////////////////
41 |
42 | namespace ocl {
43 | using namespace cv::ocl;
44 |
45 | // TODO static functions in the Context class
46 | /** @brief Creates OpenCL context from VA.
47 | @param display - VADisplay for which CL interop should be established.
48 | @param tryInterop - try to set up for interoperability, if true; set up for use slow copy if false.
49 | @return Returns reference to OpenCL Context
50 | */
51 | CV_EXPORTS Context& initializeContextFromVA(VADisplay display, bool tryInterop = true);
52 |
53 | } // namespace cv::va_intel::ocl
54 |
55 | /** @brief Converts InputArray to VASurfaceID object.
56 | @param display - VADisplay object.
57 | @param src - source InputArray.
58 | @param surface - destination VASurfaceID object.
59 | @param size - size of image represented by VASurfaceID object.
60 | */
61 | CV_EXPORTS void convertToVASurface(VADisplay display, InputArray src, VASurfaceID surface, Size size);
62 |
63 | /** @brief Converts VASurfaceID object to OutputArray.
64 | @param display - VADisplay object.
65 | @param surface - source VASurfaceID object.
66 | @param size - size of image represented by VASurfaceID object.
67 | @param dst - destination OutputArray.
68 | */
69 | CV_EXPORTS void convertFromVASurface(VADisplay display, VASurfaceID surface, Size size, OutputArray dst);
70 |
71 | //! @}
72 |
73 | }} // namespace cv::va_intel
74 |
75 | #endif /* OPENCV_CORE_VA_INTEL_HPP */
76 |
--------------------------------------------------------------------------------
/android/include/opencv2/core/version.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_VERSION_HPP
6 | #define OPENCV_VERSION_HPP
7 |
8 | #define CV_VERSION_MAJOR 4
9 | #define CV_VERSION_MINOR 5
10 | #define CV_VERSION_REVISION 3
11 | #define CV_VERSION_STATUS ""
12 |
13 | #define CVAUX_STR_EXP(__A) #__A
14 | #define CVAUX_STR(__A) CVAUX_STR_EXP(__A)
15 |
16 | #define CVAUX_STRW_EXP(__A) L ## #__A
17 | #define CVAUX_STRW(__A) CVAUX_STRW_EXP(__A)
18 |
19 | #define CV_VERSION CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS
20 |
21 | /* old style version constants*/
22 | #define CV_MAJOR_VERSION CV_VERSION_MAJOR
23 | #define CV_MINOR_VERSION CV_VERSION_MINOR
24 | #define CV_SUBMINOR_VERSION CV_VERSION_REVISION
25 |
26 | #endif // OPENCV_VERSION_HPP
27 |
--------------------------------------------------------------------------------
/android/include/opencv2/dnn/layer.details.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | #ifndef OPENCV_DNN_LAYER_DETAILS_HPP
6 | #define OPENCV_DNN_LAYER_DETAILS_HPP
7 |
8 | #include
9 |
10 | namespace cv {
11 | namespace dnn {
12 | CV__DNN_INLINE_NS_BEGIN
13 |
14 | /** @brief Registers layer constructor in runtime.
15 | * @param type string, containing type name of the layer.
16 | * @param constructorFunc pointer to the function of type LayerRegister::Constructor, which creates the layer.
17 | * @details This macros must be placed inside the function code.
18 | */
19 | #define CV_DNN_REGISTER_LAYER_FUNC(type, constructorFunc) \
20 | cv::dnn::LayerFactory::registerLayer(#type, constructorFunc);
21 |
22 | /** @brief Registers layer class in runtime.
23 | * @param type string, containing type name of the layer.
24 | * @param class C++ class, derived from Layer.
25 | * @details This macros must be placed inside the function code.
26 | */
27 | #define CV_DNN_REGISTER_LAYER_CLASS(type, class) \
28 | cv::dnn::LayerFactory::registerLayer(#type, cv::dnn::details::_layerDynamicRegisterer);
29 |
30 | /** @brief Registers layer constructor on module load time.
31 | * @param type string, containing type name of the layer.
32 | * @param constructorFunc pointer to the function of type LayerRegister::Constructor, which creates the layer.
33 | * @details This macros must be placed outside the function code.
34 | */
35 | #define CV_DNN_REGISTER_LAYER_FUNC_STATIC(type, constructorFunc) \
36 | static cv::dnn::details::_LayerStaticRegisterer __LayerStaticRegisterer_##type(#type, constructorFunc);
37 |
38 | /** @brief Registers layer class on module load time.
39 | * @param type string, containing type name of the layer.
40 | * @param class C++ class, derived from Layer.
41 | * @details This macros must be placed outside the function code.
42 | */
43 | #define CV_DNN_REGISTER_LAYER_CLASS_STATIC(type, class) \
44 | Ptr __LayerStaticRegisterer_func_##type(LayerParams ¶ms) \
45 | { return Ptr(new class(params)); } \
46 | static cv::dnn::details::_LayerStaticRegisterer __LayerStaticRegisterer_##type(#type, __LayerStaticRegisterer_func_##type);
47 |
48 | namespace details {
49 |
50 | template
51 | Ptr _layerDynamicRegisterer(LayerParams ¶ms)
52 | {
53 | return Ptr(LayerClass::create(params));
54 | }
55 |
56 | //allows automatically register created layer on module load time
57 | class _LayerStaticRegisterer
58 | {
59 | String type;
60 | public:
61 |
62 | _LayerStaticRegisterer(const String &layerType, LayerFactory::Constructor layerConstructor)
63 | {
64 | this->type = layerType;
65 | LayerFactory::registerLayer(layerType, layerConstructor);
66 | }
67 |
68 | ~_LayerStaticRegisterer()
69 | {
70 | LayerFactory::unregisterLayer(type);
71 | }
72 | };
73 |
74 | } // namespace
75 | CV__DNN_INLINE_NS_END
76 | }} // namespace
77 |
78 | #endif
79 |
--------------------------------------------------------------------------------
/android/include/opencv2/dnn/utils/inference_engine.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018-2019, Intel Corporation, all rights reserved.
6 | // Third party copyrights are property of their respective owners.
7 |
8 | #ifndef OPENCV_DNN_UTILS_INF_ENGINE_HPP
9 | #define OPENCV_DNN_UTILS_INF_ENGINE_HPP
10 |
11 | #include "../dnn.hpp"
12 |
13 | namespace cv { namespace dnn {
14 | CV__DNN_INLINE_NS_BEGIN
15 |
16 |
17 | /* Values for 'OPENCV_DNN_BACKEND_INFERENCE_ENGINE_TYPE' parameter */
18 | #define CV_DNN_BACKEND_INFERENCE_ENGINE_NN_BUILDER_API "NN_BUILDER"
19 | #define CV_DNN_BACKEND_INFERENCE_ENGINE_NGRAPH "NGRAPH"
20 |
21 | /** @brief Returns Inference Engine internal backend API.
22 | *
23 | * See values of `CV_DNN_BACKEND_INFERENCE_ENGINE_*` macros.
24 | *
25 | * Default value is controlled through `OPENCV_DNN_BACKEND_INFERENCE_ENGINE_TYPE` runtime parameter (environment variable).
26 | */
27 | CV_EXPORTS_W cv::String getInferenceEngineBackendType();
28 |
29 | /** @brief Specify Inference Engine internal backend API.
30 | *
31 | * See values of `CV_DNN_BACKEND_INFERENCE_ENGINE_*` macros.
32 | *
33 | * @returns previous value of internal backend API
34 | */
35 | CV_EXPORTS_W cv::String setInferenceEngineBackendType(const cv::String& newBackendType);
36 |
37 |
38 | /** @brief Release a Myriad device (binded by OpenCV).
39 | *
40 | * Single Myriad device cannot be shared across multiple processes which uses
41 | * Inference Engine's Myriad plugin.
42 | */
43 | CV_EXPORTS_W void resetMyriadDevice();
44 |
45 |
46 | /* Values for 'OPENCV_DNN_IE_VPU_TYPE' parameter */
47 | #define CV_DNN_INFERENCE_ENGINE_VPU_TYPE_UNSPECIFIED ""
48 | /// Intel(R) Movidius(TM) Neural Compute Stick, NCS (USB 03e7:2150), Myriad2 (https://software.intel.com/en-us/movidius-ncs)
49 | #define CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_2 "Myriad2"
50 | /// Intel(R) Neural Compute Stick 2, NCS2 (USB 03e7:2485), MyriadX (https://software.intel.com/ru-ru/neural-compute-stick)
51 | #define CV_DNN_INFERENCE_ENGINE_VPU_TYPE_MYRIAD_X "MyriadX"
52 | #define CV_DNN_INFERENCE_ENGINE_CPU_TYPE_ARM_COMPUTE "ARM_COMPUTE"
53 | #define CV_DNN_INFERENCE_ENGINE_CPU_TYPE_X86 "X86"
54 |
55 |
56 | /** @brief Returns Inference Engine VPU type.
57 | *
58 | * See values of `CV_DNN_INFERENCE_ENGINE_VPU_TYPE_*` macros.
59 | */
60 | CV_EXPORTS_W cv::String getInferenceEngineVPUType();
61 |
62 | /** @brief Returns Inference Engine CPU type.
63 | *
64 | * Specify OpenVINO plugin: CPU or ARM.
65 | */
66 | CV_EXPORTS_W cv::String getInferenceEngineCPUType();
67 |
68 | /** @brief Release a HDDL plugin.
69 | */
70 | CV_EXPORTS_W void releaseHDDLPlugin();
71 |
72 |
73 | CV__DNN_INLINE_NS_END
74 | }} // namespace
75 |
76 | #endif // OPENCV_DNN_UTILS_INF_ENGINE_HPP
77 |
--------------------------------------------------------------------------------
/android/include/opencv2/dnn/version.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_DNN_VERSION_HPP
6 | #define OPENCV_DNN_VERSION_HPP
7 |
8 | /// Use with major OpenCV version only.
9 | #define OPENCV_DNN_API_VERSION 20210608
10 |
11 | #if !defined CV_DOXYGEN && !defined CV_STATIC_ANALYSIS && !defined CV_DNN_DONT_ADD_INLINE_NS
12 | #define CV__DNN_INLINE_NS __CV_CAT(dnn4_v, OPENCV_DNN_API_VERSION)
13 | #define CV__DNN_INLINE_NS_BEGIN namespace CV__DNN_INLINE_NS {
14 | #define CV__DNN_INLINE_NS_END }
15 | namespace cv { namespace dnn { namespace CV__DNN_INLINE_NS { } using namespace CV__DNN_INLINE_NS; }}
16 | #else
17 | #define CV__DNN_INLINE_NS_BEGIN
18 | #define CV__DNN_INLINE_NS_END
19 | #endif
20 |
21 | #endif // OPENCV_DNN_VERSION_HPP
22 |
--------------------------------------------------------------------------------
/android/include/opencv2/features2d/features2d.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/features2d.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/features2d/hal/interface.h:
--------------------------------------------------------------------------------
1 | #ifndef OPENCV_FEATURE2D_HAL_INTERFACE_H
2 | #define OPENCV_FEATURE2D_HAL_INTERFACE_H
3 |
4 | #include "opencv2/core/cvdef.h"
5 | //! @addtogroup features2d_hal_interface
6 | //! @{
7 |
8 | //! @name Fast feature detector types
9 | //! @sa cv::FastFeatureDetector
10 | //! @{
11 | #define CV_HAL_TYPE_5_8 0
12 | #define CV_HAL_TYPE_7_12 1
13 | #define CV_HAL_TYPE_9_16 2
14 | //! @}
15 |
16 | //! @name Key point
17 | //! @sa cv::KeyPoint
18 | //! @{
19 | struct CV_EXPORTS cvhalKeyPoint
20 | {
21 | float x;
22 | float y;
23 | float size;
24 | float angle;
25 | float response;
26 | int octave;
27 | int class_id;
28 | };
29 | //! @}
30 |
31 | //! @}
32 |
33 | #endif
34 |
--------------------------------------------------------------------------------
/android/include/opencv2/flann/config.h:
--------------------------------------------------------------------------------
1 | /***********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright 2008-2011 Marius Muja (mariusm@cs.ubc.ca). All rights reserved.
5 | * Copyright 2008-2011 David G. Lowe (lowe@cs.ubc.ca). All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * 1. Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * 2. Redistributions in binary form must reproduce the above copyright
14 | * notice, this list of conditions and the following disclaimer in the
15 | * documentation and/or other materials provided with the distribution.
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | *************************************************************************/
28 |
29 |
30 | #ifndef OPENCV_FLANN_CONFIG_H_
31 | #define OPENCV_FLANN_CONFIG_H_
32 |
33 | //! @cond IGNORED
34 |
35 | #ifdef FLANN_VERSION_
36 | #undef FLANN_VERSION_
37 | #endif
38 | #define FLANN_VERSION_ "1.6.10"
39 |
40 | //! @endcond
41 |
42 | #endif /* OPENCV_FLANN_CONFIG_H_ */
43 |
--------------------------------------------------------------------------------
/android/include/opencv2/flann/dummy.h:
--------------------------------------------------------------------------------
1 |
2 | #ifndef OPENCV_FLANN_DUMMY_H_
3 | #define OPENCV_FLANN_DUMMY_H_
4 |
5 | //! @cond IGNORED
6 |
7 | namespace cvflann
8 | {
9 |
10 | CV_DEPRECATED inline void dummyfunc() {}
11 |
12 | }
13 |
14 | //! @endcond
15 |
16 | #endif /* OPENCV_FLANN_DUMMY_H_ */
17 |
--------------------------------------------------------------------------------
/android/include/opencv2/flann/flann.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/flann.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/flann/general.h:
--------------------------------------------------------------------------------
1 | /***********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved.
5 | * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved.
6 | *
7 | * THE BSD LICENSE
8 | *
9 | * Redistribution and use in source and binary forms, with or without
10 | * modification, are permitted provided that the following conditions
11 | * are met:
12 | *
13 | * 1. Redistributions of source code must retain the above copyright
14 | * notice, this list of conditions and the following disclaimer.
15 | * 2. Redistributions in binary form must reproduce the above copyright
16 | * notice, this list of conditions and the following disclaimer in the
17 | * documentation and/or other materials provided with the distribution.
18 | *
19 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 | *************************************************************************/
30 |
31 | #ifndef OPENCV_FLANN_GENERAL_H_
32 | #define OPENCV_FLANN_GENERAL_H_
33 |
34 | #if CV_VERSION_MAJOR <= 4
35 |
36 | //! @cond IGNORED
37 |
38 | #include "opencv2/core.hpp"
39 |
40 | namespace cvflann
41 | {
42 |
43 | class FLANNException : public cv::Exception
44 | {
45 | public:
46 | FLANNException(const char* message) : cv::Exception(0, message, "", __FILE__, __LINE__) { }
47 |
48 | FLANNException(const cv::String& message) : cv::Exception(0, message, "", __FILE__, __LINE__) { }
49 | };
50 |
51 | }
52 |
53 | #define FLANN_THROW(TYPE, STR) throw FLANNException(STR)
54 |
55 | #else
56 |
57 | #define FLANN_THROW(TYPE, STR) CV_Error(TYPE, STR)
58 |
59 | #endif
60 |
61 | //! @endcond
62 |
63 | #endif /* OPENCV_FLANN_GENERAL_H_ */
64 |
--------------------------------------------------------------------------------
/android/include/opencv2/flann/sampling.h:
--------------------------------------------------------------------------------
1 | /***********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved.
5 | * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * 1. Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * 2. Redistributions in binary form must reproduce the above copyright
14 | * notice, this list of conditions and the following disclaimer in the
15 | * documentation and/or other materials provided with the distribution.
16 | *
17 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 | *************************************************************************/
28 |
29 |
30 | #ifndef OPENCV_FLANN_SAMPLING_H_
31 | #define OPENCV_FLANN_SAMPLING_H_
32 |
33 | //! @cond IGNORED
34 |
35 | #include "matrix.h"
36 | #include "random.h"
37 |
38 | namespace cvflann
39 | {
40 |
41 | template
42 | Matrix random_sample(Matrix& srcMatrix, long size, bool remove = false)
43 | {
44 | Matrix newSet(new T[size * srcMatrix.cols], size,srcMatrix.cols);
45 |
46 | T* src,* dest;
47 | for (long i=0; i
65 | Matrix random_sample(const Matrix& srcMatrix, size_t size)
66 | {
67 | UniqueRandom rand((int)srcMatrix.rows);
68 | Matrix newSet(new T[size * srcMatrix.cols], size,srcMatrix.cols);
69 |
70 | T* src,* dest;
71 | for (size_t i=0; i
37 | #include "opencv2/core.hpp"
38 | #include "opencv2/core/utility.hpp"
39 |
40 | namespace cvflann
41 | {
42 |
43 | /**
44 | * A start-stop timer class.
45 | *
46 | * Can be used to time portions of code.
47 | */
48 | class StartStopTimer
49 | {
50 | int64 startTime;
51 |
52 | public:
53 | /**
54 | * Value of the timer.
55 | */
56 | double value;
57 |
58 |
59 | /**
60 | * Constructor.
61 | */
62 | StartStopTimer()
63 | : startTime(0)
64 | {
65 | reset();
66 | }
67 |
68 | /**
69 | * Starts the timer.
70 | */
71 | void start()
72 | {
73 | startTime = cv::getTickCount();
74 | }
75 |
76 | /**
77 | * Stops the timer and updates timer value.
78 | */
79 | void stop()
80 | {
81 | int64 stopTime = cv::getTickCount();
82 | value += ( (double)stopTime - startTime) / cv::getTickFrequency();
83 | }
84 |
85 | /**
86 | * Resets the timer value to 0.
87 | */
88 | void reset()
89 | {
90 | value = 0;
91 | }
92 |
93 | };
94 |
95 | }
96 |
97 | //! @endcond
98 |
99 | #endif // FLANN_TIMER_H
100 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_HPP
9 | #define OPENCV_GAPI_HPP
10 |
11 | #include
12 |
13 | /** \defgroup gapi G-API framework
14 | @{
15 | @defgroup gapi_main_classes G-API Main Classes
16 | @defgroup gapi_data_objects G-API Data Types
17 | @{
18 | @defgroup gapi_meta_args G-API Metadata Descriptors
19 | @}
20 | @defgroup gapi_std_backends G-API Standard Backends
21 | @defgroup gapi_compile_args G-API Graph Compilation Arguments
22 | @}
23 | */
24 |
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include
34 | #include
35 |
36 | // Include these files here to avoid cyclic dependency between
37 | // Desync & GKernel & GComputation & GStreamingCompiled.
38 | #include
39 | #include
40 |
41 | #endif // OPENCV_GAPI_HPP
42 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/cpu/core.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_CPU_CORE_API_HPP
9 | #define OPENCV_GAPI_CPU_CORE_API_HPP
10 |
11 | #include // GKernelPackage
12 | #include // GAPI_EXPORTS
13 |
14 | namespace cv {
15 | namespace gapi {
16 | namespace core {
17 | namespace cpu {
18 |
19 | GAPI_EXPORTS_W cv::gapi::GKernelPackage kernels();
20 |
21 | } // namespace cpu
22 | } // namespace core
23 | } // namespace gapi
24 | } // namespace cv
25 |
26 |
27 | #endif // OPENCV_GAPI_CPU_CORE_API_HPP
28 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/cpu/imgproc.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_CPU_IMGPROC_API_HPP
9 | #define OPENCV_GAPI_CPU_IMGPROC_API_HPP
10 |
11 | #include // GAPI_EXPORTS
12 | #include // GKernelPackage
13 |
14 | namespace cv {
15 | namespace gapi {
16 | namespace imgproc {
17 | namespace cpu {
18 |
19 | GAPI_EXPORTS GKernelPackage kernels();
20 |
21 | } // namespace cpu
22 | } // namespace imgproc
23 | } // namespace gapi
24 | } // namespace cv
25 |
26 |
27 | #endif // OPENCV_GAPI_CPU_IMGPROC_API_HPP
28 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/cpu/stereo.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2021 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_CPU_STEREO_API_HPP
8 | #define OPENCV_GAPI_CPU_STEREO_API_HPP
9 |
10 | #include // GKernelPackage
11 |
12 | namespace cv {
13 | namespace gapi {
14 | namespace calib3d {
15 | namespace cpu {
16 |
17 | GAPI_EXPORTS GKernelPackage kernels();
18 |
19 | /** @brief Structure for the Stereo operation initialization parameters.*/
20 | struct GAPI_EXPORTS StereoInitParam {
21 | StereoInitParam(int nD, int bS, double bL, double f):
22 | numDisparities(nD), blockSize(bS), baseline(bL), focus(f) {}
23 |
24 | StereoInitParam() = default;
25 |
26 | int numDisparities = 0;
27 | int blockSize = 21;
28 | double baseline = 63.5;
29 | double focus = 3.6;
30 | };
31 |
32 | } // namespace cpu
33 | } // namespace calib3d
34 | } // namespace gapi
35 |
36 | namespace detail {
37 |
38 | template<> struct CompileArgTag {
39 | static const char* tag() {
40 | return "org.opencv.stereoInit";
41 | }
42 | };
43 |
44 | } // namespace detail
45 | } // namespace cv
46 |
47 |
48 | #endif // OPENCV_GAPI_CPU_STEREO_API_HPP
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/cpu/video.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_CPU_VIDEO_API_HPP
8 | #define OPENCV_GAPI_CPU_VIDEO_API_HPP
9 |
10 | #include // GKernelPackage
11 |
12 | namespace cv {
13 | namespace gapi {
14 | namespace video {
15 | namespace cpu {
16 |
17 | GAPI_EXPORTS GKernelPackage kernels();
18 |
19 | } // namespace cpu
20 | } // namespace video
21 | } // namespace gapi
22 | } // namespace cv
23 |
24 |
25 | #endif // OPENCV_GAPI_CPU_VIDEO_API_HPP
26 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/fluid/core.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_FLUID_CORE_HPP
9 | #define OPENCV_GAPI_FLUID_CORE_HPP
10 |
11 | #include // GKernelPackage
12 | #include // GAPI_EXPORTS
13 |
14 | namespace cv { namespace gapi { namespace core { namespace fluid {
15 |
16 | GAPI_EXPORTS_W cv::gapi::GKernelPackage kernels();
17 |
18 | }}}}
19 |
20 | #endif // OPENCV_GAPI_FLUID_CORE_HPP
21 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/fluid/imgproc.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_FLUID_IMGPROC_HPP
9 | #define OPENCV_GAPI_FLUID_IMGPROC_HPP
10 |
11 | #include // GKernelPackage
12 | #include // GAPI_EXPORTS
13 |
14 | namespace cv { namespace gapi { namespace imgproc { namespace fluid {
15 |
16 | GAPI_EXPORTS GKernelPackage kernels();
17 |
18 | }}}}
19 |
20 | #endif // OPENCV_GAPI_FLUID_IMGPROC_HPP
21 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/gasync_context.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2019 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_GASYNC_CONTEXT_HPP
8 | #define OPENCV_GAPI_GASYNC_CONTEXT_HPP
9 |
10 | #if !defined(GAPI_STANDALONE)
11 | # include
12 | #else // Without OpenCV
13 | # include
14 | #endif // !defined(GAPI_STANDALONE)
15 |
16 | #include
17 |
18 | namespace cv {
19 | namespace gapi{
20 |
21 | /**
22 | * @brief This namespace contains experimental G-API functionality,
23 | * functions or structures in this namespace are subjects to change or
24 | * removal in the future releases. This namespace also contains
25 | * functions which API is not stabilized yet.
26 | */
27 | namespace wip {
28 |
29 | /**
30 | * @brief A class to group async requests to cancel them in a single shot.
31 | *
32 | * GAsyncContext is passed as an argument to async() and async_apply() functions
33 | */
34 |
35 | class GAPI_EXPORTS GAsyncContext{
36 | std::atomic cancelation_requested = {false};
37 | public:
38 | /**
39 | * @brief Start cancellation process for an associated request.
40 | *
41 | * User still has to wait for each individual request (either via callback or according std::future object) to make sure it actually canceled.
42 | *
43 | * @return true if it was a first request to cancel the context
44 | */
45 | bool cancel();
46 |
47 | /**
48 | * @brief Returns true if cancellation was requested for this context.
49 | *
50 | * @return true if cancellation was requested for this context
51 | */
52 | bool isCanceled() const;
53 | };
54 |
55 | class GAPI_EXPORTS GAsyncCanceled : public std::exception {
56 | public:
57 | virtual const char* what() const noexcept CV_OVERRIDE;
58 | };
59 | } // namespace wip
60 | } // namespace gapi
61 | } // namespace cv
62 |
63 | #endif //OPENCV_GAPI_GASYNC_CONTEXT_HPP
64 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/gcall.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GCALL_HPP
9 | #define OPENCV_GAPI_GCALL_HPP
10 |
11 | #include // GArg
12 | #include // GMat
13 | #include // GScalar
14 | #include // GFrame
15 | #include // GArray
16 | #include // GOpaque
17 |
18 | namespace cv {
19 |
20 | struct GKernel;
21 |
22 | // The whole idea of this class is to represent an operation
23 | // which is applied to arguments. This is part of public API,
24 | // since it is what users should use to define kernel interfaces.
25 |
26 | class GAPI_EXPORTS GCall final
27 | {
28 | public:
29 | class Priv;
30 |
31 | explicit GCall(const GKernel &k);
32 | ~GCall();
33 |
34 | template
35 | GCall& pass(Ts&&... args)
36 | {
37 | setArgs({cv::GArg(std::move(args))...});
38 | return *this;
39 | }
40 |
41 | // A generic yield method - obtain a link to operator's particular GMat output
42 | GMat yield (int output = 0);
43 | GMatP yieldP (int output = 0);
44 | GScalar yieldScalar(int output = 0);
45 | GFrame yieldFrame (int output = 0);
46 |
47 | template GArray yieldArray(int output = 0)
48 | {
49 | return GArray(yieldArray(output));
50 | }
51 |
52 | template GOpaque yieldOpaque(int output = 0)
53 | {
54 | return GOpaque(yieldOpaque(output));
55 | }
56 |
57 | // Internal use only
58 | Priv& priv();
59 | const Priv& priv() const;
60 |
61 | // GKernel and params can be modified, it's needed for infer,
62 | // because information about output shapes doesn't exist in compile time
63 | GKernel& kernel();
64 | cv::util::any& params();
65 |
66 | void setArgs(std::vector &&args);
67 |
68 | protected:
69 | std::shared_ptr m_priv;
70 |
71 | // Public versions return a typed array or opaque, those are implementation details
72 | detail::GArrayU yieldArray(int output = 0);
73 | detail::GOpaqueU yieldOpaque(int output = 0);
74 | };
75 |
76 | } // namespace cv
77 |
78 | #endif // OPENCV_GAPI_GCALL_HPP
79 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/gmetaarg.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GMETAARG_HPP
9 | #define OPENCV_GAPI_GMETAARG_HPP
10 |
11 | #include
12 | #include
13 |
14 | #include
15 | #include
16 |
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 |
23 | namespace cv
24 | {
25 | // FIXME: Rename to GMeta?
26 | // FIXME: user shouldn't deal with it - put to detail?
27 | // GMetaArg is an union type over descriptions of G-types which can serve as
28 | // GComputation's in/output slots.
29 | //
30 | // GMetaArg objects are passed as arguments to GComputation::compile()
31 | // to specify which data a compiled computation should be specialized on.
32 | // For manual compile(), user must supply this metadata, in case of apply()
33 | // this metadata is taken from arguments computation should operate on.
34 | //
35 | // The first type (monostate) is equal to "uninitialized"/"unresolved" meta.
36 | using GMetaArg = util::variant
37 | < util::monostate
38 | , GMatDesc
39 | , GScalarDesc
40 | , GArrayDesc
41 | , GOpaqueDesc
42 | , GFrameDesc
43 | >;
44 | GAPI_EXPORTS std::ostream& operator<<(std::ostream& os, const GMetaArg &);
45 |
46 | using GMetaArgs = std::vector;
47 |
48 | namespace detail
49 | {
50 | // These traits are used by GComputation::compile()
51 |
52 | // FIXME: is_constructible doesn't work as variant doesn't do any SFINAE
53 | // in its current template constructor
54 |
55 | template struct is_meta_descr : std::false_type {};
56 | template<> struct is_meta_descr : std::true_type {};
57 | template<> struct is_meta_descr : std::true_type {};
58 | template<> struct is_meta_descr : std::true_type {};
59 | template<> struct is_meta_descr : std::true_type {};
60 |
61 | template
62 | using are_meta_descrs = all_satisfy;
63 |
64 | template
65 | using are_meta_descrs_but_last = all_satisfy::type>;
66 |
67 | } // namespace detail
68 |
69 | // Note: descr_of(std::vector<..>) returns a GArrayDesc, while
70 | // descrs_of(std::vector<..>) returns an array of Meta args!
71 | class UMat;
72 | GAPI_EXPORTS cv::GMetaArgs descrs_of(const std::vector &vec);
73 | GAPI_EXPORTS cv::GMetaArgs descrs_of(const std::vector &vec);
74 | namespace gapi { namespace own {
75 | GAPI_EXPORTS cv::GMetaArgs descrs_of(const std::vector &vec);
76 | }} // namespace gapi::own
77 |
78 | } // namespace cv
79 |
80 | #endif // OPENCV_GAPI_GMETAARG_HPP
81 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/gpu/core.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GPU_CORE_API_HPP
9 | #define OPENCV_GAPI_GPU_CORE_API_HPP
10 | /** @file
11 | * @deprecated Use instead.
12 | */
13 |
14 | #include
15 |
16 | namespace cv {
17 | namespace gapi {
18 | namespace core {
19 | namespace gpu {
20 | using namespace ocl;
21 | } // namespace gpu
22 | } // namespace core
23 | } // namespace gapi
24 | } // namespace cv
25 |
26 |
27 | #endif // OPENCV_GAPI_GPU_CORE_API_HPP
28 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/gpu/ggpukernel.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GGPUKERNEL_HPP
9 | #define OPENCV_GAPI_GGPUKERNEL_HPP
10 | /** @file
11 | * @deprecated Use instead.
12 | */
13 |
14 | #include
15 | #define GAPI_GPU_KERNEL GAPI_OCL_KERNEL
16 |
17 |
18 | #endif // OPENCV_GAPI_GGPUKERNEL_HPP
19 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/gpu/imgproc.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GPU_IMGPROC_API_HPP
9 | #define OPENCV_GAPI_GPU_IMGPROC_API_HPP
10 | /** @file
11 | * @deprecated Use instead.
12 | */
13 |
14 | #include
15 |
16 |
17 | namespace cv {
18 | namespace gapi {
19 | namespace imgproc {
20 | namespace gpu {
21 | using namespace ocl;
22 | } // namespace gpu
23 | } // namespace imgproc
24 | } // namespace gapi
25 | } // namespace cv
26 |
27 |
28 | #endif // OPENCV_GAPI_GPU_IMGPROC_API_HPP
29 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/infer/bindings_ie.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_INFER_BINDINGS_IE_HPP
8 | #define OPENCV_GAPI_INFER_BINDINGS_IE_HPP
9 |
10 | #include
11 | #include "opencv2/gapi/own/exports.hpp" // GAPI_EXPORTS
12 | #include // GKernelPackage
13 | #include // Params
14 |
15 | #include
16 |
17 | namespace cv {
18 | namespace gapi {
19 | namespace ie {
20 |
21 | // NB: Used by python wrapper
22 | // This class can be marked as SIMPLE, because it's implemented as pimpl
23 | class GAPI_EXPORTS_W_SIMPLE PyParams {
24 | public:
25 | PyParams() = default;
26 |
27 | PyParams(const std::string &tag,
28 | const std::string &model,
29 | const std::string &weights,
30 | const std::string &device);
31 |
32 | PyParams(const std::string &tag,
33 | const std::string &model,
34 | const std::string &device);
35 |
36 | GBackend backend() const;
37 | std::string tag() const;
38 | cv::util::any params() const;
39 |
40 | private:
41 | std::shared_ptr> m_priv;
42 | };
43 |
44 | GAPI_EXPORTS_W PyParams params(const std::string &tag,
45 | const std::string &model,
46 | const std::string &weights,
47 | const std::string &device);
48 |
49 | GAPI_EXPORTS_W PyParams params(const std::string &tag,
50 | const std::string &model,
51 | const std::string &device);
52 | } // namespace ie
53 | } // namespace gapi
54 | } // namespace cv
55 |
56 | #endif // OPENCV_GAPI_INFER_BINDINGS_IE_HPP
57 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/ocl/core.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_OCL_CORE_API_HPP
9 | #define OPENCV_GAPI_OCL_CORE_API_HPP
10 |
11 | #include // GAPI_EXPORTS
12 | #include // GKernelPackage
13 |
14 | namespace cv {
15 | namespace gapi {
16 | namespace core {
17 | namespace ocl {
18 |
19 | GAPI_EXPORTS_W cv::gapi::GKernelPackage kernels();
20 |
21 | } // namespace ocl
22 | } // namespace core
23 | } // namespace gapi
24 | } // namespace cv
25 |
26 |
27 | #endif // OPENCV_GAPI_OCL_CORE_API_HPP
28 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/ocl/imgproc.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_OCL_IMGPROC_API_HPP
9 | #define OPENCV_GAPI_OCL_IMGPROC_API_HPP
10 |
11 | #include // GAPI_EXPORTS
12 | #include // GKernelPackage
13 |
14 | namespace cv {
15 | namespace gapi {
16 | namespace imgproc {
17 | namespace ocl {
18 |
19 | GAPI_EXPORTS GKernelPackage kernels();
20 |
21 | } // namespace ocl
22 | } // namespace imgproc
23 | } // namespace gapi
24 | } // namespace cv
25 |
26 |
27 | #endif // OPENCV_GAPI_OCL_IMGPROC_API_HPP
28 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/opencv_includes.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 |
3 | // It is subject to the license terms in the LICENSE file found in the top-level directory
4 | // of this distribution and at http://opencv.org/license.html.
5 | //
6 | // Copyright (C) 2018 Intel Corporation
7 |
8 |
9 | #ifndef OPENCV_GAPI_OPENCV_INCLUDES_HPP
10 | #define OPENCV_GAPI_OPENCV_INCLUDES_HPP
11 |
12 | #if !defined(GAPI_STANDALONE)
13 | # include
14 | # include
15 | # include
16 | # include
17 | #else // Without OpenCV
18 | # include
19 | # include // cv::gapi::own::Rect/Size/Point
20 | # include // cv::gapi::own::Scalar
21 | # include
22 | // replacement of cv's structures:
23 | namespace cv {
24 | using Rect = gapi::own::Rect;
25 | using Size = gapi::own::Size;
26 | using Point = gapi::own::Point;
27 | using Point2f = gapi::own::Point2f;
28 | using Scalar = gapi::own::Scalar;
29 | using Mat = gapi::own::Mat;
30 | } // namespace cv
31 | #endif // !defined(GAPI_STANDALONE)
32 |
33 | #endif // OPENCV_GAPI_OPENCV_INCLUDES_HPP
34 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/own/assert.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018-2020 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_OWN_ASSERT_HPP
9 | #define OPENCV_GAPI_OWN_ASSERT_HPP
10 |
11 | #include
12 |
13 | #define GAPI_DbgAssertNoOp(expr) { \
14 | constexpr bool _assert_tmp = false && (expr); \
15 | cv::util::suppress_unused_warning(_assert_tmp); \
16 | }
17 |
18 | #if !defined(GAPI_STANDALONE)
19 | #include
20 | #define GAPI_Assert CV_Assert
21 |
22 | #if defined _DEBUG || defined CV_STATIC_ANALYSIS
23 | # define GAPI_DbgAssert CV_DbgAssert
24 | #else
25 | # define GAPI_DbgAssert(expr) GAPI_DbgAssertNoOp(expr)
26 | #endif
27 |
28 | #else
29 | #include
30 | #include
31 | #include
32 |
33 | namespace detail
34 | {
35 | [[noreturn]] inline void assert_abort(const char* str, int line, const char* file, const char* func)
36 | {
37 | std::stringstream ss;
38 | ss << file << ":" << line << ": Assertion " << str << " in function " << func << " failed\n";
39 | cv::util::throw_error(std::logic_error(ss.str()));
40 | }
41 | }
42 |
43 | #define GAPI_Assert(expr) \
44 | { if (!(expr)) ::detail::assert_abort(#expr, __LINE__, __FILE__, __func__); }
45 |
46 |
47 | #ifdef NDEBUG
48 | # define GAPI_DbgAssert(expr) GAPI_DbgAssertNoOp(expr)
49 | #else
50 | # define GAPI_DbgAssert(expr) GAPI_Assert(expr)
51 | #endif
52 |
53 | #endif // GAPI_STANDALONE
54 |
55 | #endif // OPENCV_GAPI_OWN_ASSERT_HPP
56 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/own/convert.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_OWN_CONVERT_HPP
9 | #define OPENCV_GAPI_OWN_CONVERT_HPP
10 |
11 | #if !defined(GAPI_STANDALONE)
12 |
13 | #include
14 | #include
15 |
16 | namespace cv
17 | {
18 | template
19 | std::vector to_own(const cv::MatSize &sz) {
20 | std::vector result(sz.dims());
21 | for (int i = 0; i < sz.dims(); i++) {
22 | // Note: cv::MatSize is not iterable
23 | result[i] = static_cast(sz[i]);
24 | }
25 | return result;
26 | }
27 |
28 | cv::gapi::own::Mat to_own(Mat&&) = delete;
29 |
30 | inline cv::gapi::own::Mat to_own(Mat const& m) {
31 | return (m.dims == 2)
32 | ? cv::gapi::own::Mat{m.rows, m.cols, m.type(), m.data, m.step}
33 | : cv::gapi::own::Mat{to_own(m.size), m.type(), m.data};
34 | };
35 |
36 | namespace gapi
37 | {
38 | namespace own
39 | {
40 |
41 | inline cv::Mat to_ocv(Mat const& m) {
42 | return m.dims.empty()
43 | ? cv::Mat{m.rows, m.cols, m.type(), m.data, m.step}
44 | : cv::Mat{m.dims, m.type(), m.data};
45 | }
46 |
47 | cv::Mat to_ocv(Mat&&) = delete;
48 |
49 | } // namespace own
50 | } // namespace gapi
51 | } // namespace cv
52 |
53 | #endif // !defined(GAPI_STANDALONE)
54 |
55 | #endif // OPENCV_GAPI_OWN_CONVERT_HPP
56 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/own/exports.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_OWN_TYPES_HPP
9 | #define OPENCV_GAPI_OWN_TYPES_HPP
10 |
11 | # if defined(__OPENCV_BUILD)
12 | # include
13 | # define GAPI_EXPORTS CV_EXPORTS
14 | /* special informative macros for wrapper generators */
15 | # define GAPI_PROP CV_PROP
16 | # define GAPI_PROP_RW CV_PROP_RW
17 | # define GAPI_WRAP CV_WRAP
18 | # define GAPI_EXPORTS_W_SIMPLE CV_EXPORTS_W_SIMPLE
19 | # define GAPI_EXPORTS_W CV_EXPORTS_W
20 | # else
21 | # define GAPI_PROP
22 | # define GAPI_PROP_RW
23 | # define GAPI_WRAP
24 | # define GAPI_EXPORTS
25 | # define GAPI_EXPORTS_W_SIMPLE
26 | # define GAPI_EXPORTS_W
27 |
28 | #if 0 // Note: the following version currently is not needed for non-OpenCV build
29 | # if defined _WIN32
30 | # define GAPI_EXPORTS __declspec(dllexport)
31 | # elif defined __GNUC__ && __GNUC__ >= 4
32 | # define GAPI_EXPORTS __attribute__ ((visibility ("default")))
33 | # endif
34 |
35 | # ifndef GAPI_EXPORTS
36 | # define GAPI_EXPORTS
37 | # endif
38 | #endif
39 |
40 | # endif
41 |
42 | #endif // OPENCV_GAPI_OWN_TYPES_HPP
43 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/own/saturate.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_OWN_SATURATE_HPP
9 | #define OPENCV_GAPI_OWN_SATURATE_HPP
10 |
11 | #include
12 |
13 | #include
14 | #include
15 |
16 | #include
17 |
18 | namespace cv { namespace gapi { namespace own {
19 | //-----------------------------
20 | //
21 | // Numeric cast with saturation
22 | //
23 | //-----------------------------
24 |
25 | template
26 | static inline DST saturate(SRC x)
27 | {
28 | // only integral types please!
29 | GAPI_DbgAssert(std::is_integral::value &&
30 | std::is_integral::value);
31 |
32 | if (std::is_same::value)
33 | return static_cast(x);
34 |
35 | if (sizeof(DST) > sizeof(SRC))
36 | return static_cast(x);
37 |
38 | // compiler must recognize this saturation,
39 | // so compile saturate(a + b) with adds
40 | // instruction (e.g.: _mm_adds_epi16 if x86)
41 | return x < std::numeric_limits::min()?
42 | std::numeric_limits::min():
43 | x > std::numeric_limits::max()?
44 | std::numeric_limits::max():
45 | static_cast(x);
46 | }
47 |
48 | // Note, that OpenCV rounds differently:
49 | // - like std::round() for add, subtract
50 | // - like std::rint() for multiply, divide
51 | template
52 | static inline DST saturate(SRC x, R round)
53 | {
54 | if (std::is_floating_point::value)
55 | {
56 | return static_cast(x);
57 | }
58 | else if (std::is_integral::value)
59 | {
60 | GAPI_DbgAssert(std::is_integral::value &&
61 | std::is_integral::value);
62 | return saturate(x);
63 | }
64 | else
65 | {
66 | GAPI_DbgAssert(std::is_integral::value &&
67 | std::is_floating_point::value);
68 | #ifdef _WIN32
69 | // Suppress warning about converting x to floating-point
70 | // Note that x is already floating-point at this point
71 | #pragma warning(disable: 4244)
72 | #endif
73 | int ix = static_cast(round(x));
74 | #ifdef _WIN32
75 | #pragma warning(default: 4244)
76 | #endif
77 | return saturate(ix);
78 | }
79 | }
80 |
81 | // explicit suffix 'd' for double type
82 | inline double ceild(double x) { return ceil(x); }
83 | inline double floord(double x) { return floor(x); }
84 | inline double roundd(double x) { return round(x); }
85 | inline double rintd(double x) { return rint(x); }
86 |
87 | } //namespace own
88 | } //namespace gapi
89 | } //namespace cv
90 | #endif /* OPENCV_GAPI_OWN_SATURATE_HPP */
91 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/own/scalar.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GAPI_OWN_SCALAR_HPP
9 | #define OPENCV_GAPI_GAPI_OWN_SCALAR_HPP
10 |
11 | #include
12 |
13 | namespace cv
14 | {
15 | namespace gapi
16 | {
17 | namespace own
18 | {
19 |
20 | class GAPI_EXPORTS Scalar
21 | {
22 | public:
23 | Scalar() = default;
24 | explicit Scalar(double v0) { val[0] = v0; };
25 | Scalar(double v0, double v1, double v2 = 0, double v3 = 0)
26 | : val{v0, v1, v2, v3}
27 | {
28 | }
29 |
30 | const double& operator[](int i) const { return val[i]; }
31 | double& operator[](int i) { return val[i]; }
32 |
33 | static Scalar all(double v0) { return Scalar(v0, v0, v0, v0); }
34 |
35 | double val[4] = {0};
36 | };
37 |
38 | inline bool operator==(const Scalar& lhs, const Scalar& rhs)
39 | {
40 | return std::equal(std::begin(lhs.val), std::end(lhs.val), std::begin(rhs.val));
41 | }
42 |
43 | } // namespace own
44 | } // namespace gapi
45 | } // namespace cv
46 |
47 | #endif // OPENCV_GAPI_GAPI_OWN_SCALAR_HPP
48 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/plaidml/core.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2019 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_PLAIDML_CORE_HPP
9 | #define OPENCV_GAPI_PLAIDML_CORE_HPP
10 |
11 | #include // GKernelPackage
12 | #include // GAPI_EXPORTS
13 |
14 | namespace cv { namespace gapi { namespace core { namespace plaidml {
15 |
16 | GAPI_EXPORTS cv::gapi::GKernelPackage kernels();
17 |
18 | }}}}
19 |
20 | #endif // OPENCV_GAPI_PLAIDML_CORE_HPP
21 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/plaidml/plaidml.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2019 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_PLAIDML_PLAIDML_HPP
9 | #define OPENCV_GAPI_PLAIDML_PLAIDML_HPP
10 |
11 | #include
12 | #include // CompileArgTag
13 |
14 | namespace cv
15 | {
16 | namespace gapi
17 | {
18 |
19 | /**
20 | * @brief This namespace contains G-API PlaidML backend functions,
21 | * structures, and symbols.
22 | */
23 | namespace plaidml
24 | {
25 |
26 | /** \addtogroup gapi_compile_args
27 | * @{
28 | */
29 | /**
30 | * @brief This structure represents the basic parameters for the experimental
31 | * PlaidML backend.
32 | */
33 | struct config
34 | {
35 | std::string dev_id; //!< Device ID. Refer to PlaidML documentation for details.
36 | std::string trg_id; //!< Target ID. Refer to PlaidML documentation for details.
37 | };
38 | /** @} gapi_compile_args */
39 |
40 | } // namespace plaidml
41 | } // namespace gapi
42 |
43 | namespace detail
44 | {
45 | template<> struct CompileArgTag
46 | {
47 | static const char* tag() { return "gapi.plaidml.config"; }
48 | };
49 | } // namespace detail
50 |
51 | } // namespace cv
52 |
53 | #endif // OPENCV_GAPI_PLAIDML_PLAIDML_HPP
54 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/python/python.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2021 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_PYTHON_API_HPP
9 | #define OPENCV_GAPI_PYTHON_API_HPP
10 |
11 | #include // GKernelPackage
12 | #include // GAPI_EXPORTS
13 |
14 | namespace cv {
15 | namespace gapi {
16 |
17 | /**
18 | * @brief This namespace contains G-API Python backend functions,
19 | * structures, and symbols.
20 | *
21 | * This functionality is required to enable G-API custom operations
22 | * and kernels when using G-API from Python, no need to use it in the
23 | * C++ form.
24 | */
25 | namespace python {
26 |
27 | GAPI_EXPORTS cv::gapi::GBackend backend();
28 |
29 | struct GPythonContext
30 | {
31 | const cv::GArgs &ins;
32 | const cv::GMetaArgs &in_metas;
33 | const cv::GTypesInfo &out_info;
34 | };
35 |
36 | using Impl = std::function;
37 |
38 | class GAPI_EXPORTS GPythonKernel
39 | {
40 | public:
41 | GPythonKernel() = default;
42 | GPythonKernel(Impl run);
43 |
44 | cv::GRunArgs operator()(const GPythonContext& ctx);
45 | private:
46 | Impl m_run;
47 | };
48 |
49 | class GAPI_EXPORTS GPythonFunctor : public cv::gapi::GFunctor
50 | {
51 | public:
52 | using Meta = cv::GKernel::M;
53 |
54 | GPythonFunctor(const char* id, const Meta &meta, const Impl& impl);
55 |
56 | GKernelImpl impl() const override;
57 | gapi::GBackend backend() const override;
58 |
59 | private:
60 | GKernelImpl impl_;
61 | };
62 |
63 | } // namespace python
64 | } // namespace gapi
65 | } // namespace cv
66 |
67 | #endif // OPENCV_GAPI_PYTHON_API_HPP
68 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/render.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2019 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_RENDER_ROOT_HPP
8 | #define OPENCV_GAPI_RENDER_ROOT_HPP
9 |
10 | // This file is just a shortcut to render/render.hpp
11 |
12 | #include
13 |
14 | #endif // OPENCV_GAPI_RENDER_ROOT_HPP
15 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/s11n/base.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_S11N_BASE_HPP
8 | #define OPENCV_GAPI_S11N_BASE_HPP
9 |
10 | #include
11 | #include
12 |
13 | namespace cv {
14 | namespace gapi {
15 |
16 | /**
17 | * @brief This namespace contains G-API serialization and
18 | * deserialization functions and data structures.
19 | */
20 | namespace s11n {
21 | struct IOStream;
22 | struct IIStream;
23 |
24 | namespace detail {
25 |
26 | struct NotImplemented {
27 | };
28 |
29 | // The default S11N for custom types is NotImplemented
30 | // Don't! sublass from NotImplemented if you actually implement S11N.
31 | template
32 | struct S11N: public NotImplemented {
33 | static void serialize(IOStream &, const T &) {
34 | GAPI_Assert(false && "No serialization routine is provided!");
35 | }
36 | static T deserialize(IIStream &) {
37 | GAPI_Assert(false && "No deserialization routine is provided!");
38 | }
39 | };
40 |
41 | template struct has_S11N_spec {
42 | static constexpr bool value = !std::is_base_of::type>>::value;
44 | };
45 |
46 | } // namespace detail
47 | } // namespace s11n
48 | } // namespace gapi
49 | } // namespace cv
50 |
51 | #endif // OPENCV_GAPI_S11N_BASE_HPP
52 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/streaming/format.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_GSTREAMING_FORMAT_HPP
8 | #define OPENCV_GAPI_GSTREAMING_FORMAT_HPP
9 |
10 | #include // GKernelPackage
11 |
12 | namespace cv {
13 | namespace gapi {
14 | namespace streaming {
15 |
16 | GAPI_EXPORTS cv::gapi::GKernelPackage kernels();
17 |
18 | G_API_OP(GBGR, , "org.opencv.streaming.BGR")
19 | {
20 | static GMatDesc outMeta(const GFrameDesc& in) { return GMatDesc{CV_8U, 3, in.size}; }
21 | };
22 |
23 | G_API_OP(GY, , "org.opencv.streaming.Y") {
24 | static GMatDesc outMeta(const GFrameDesc& frameDesc) {
25 | return GMatDesc { CV_8U, 1, frameDesc.size , false };
26 | }
27 | };
28 |
29 | G_API_OP(GUV, , "org.opencv.streaming.UV") {
30 | static GMatDesc outMeta(const GFrameDesc& frameDesc) {
31 | return GMatDesc { CV_8U, 2, cv::Size(frameDesc.size.width / 2, frameDesc.size.height / 2),
32 | false };
33 | }
34 | };
35 |
36 | /** @brief Gets bgr plane from input frame
37 |
38 | @note Function textual ID is "org.opencv.streaming.BGR"
39 |
40 | @param in Input frame
41 | @return Image in BGR format
42 | */
43 | GAPI_EXPORTS cv::GMat BGR(const cv::GFrame& in);
44 |
45 | /** @brief Extracts Y plane from media frame.
46 |
47 | Output image is 8-bit 1-channel image of @ref CV_8UC1.
48 |
49 | @note Function textual ID is "org.opencv.streaming.Y"
50 |
51 | @param frame input media frame.
52 | */
53 | GAPI_EXPORTS GMat Y(const cv::GFrame& frame);
54 |
55 | /** @brief Extracts UV plane from media frame.
56 |
57 | Output image is 8-bit 2-channel image of @ref CV_8UC2.
58 |
59 | @note Function textual ID is "org.opencv.streaming.UV"
60 |
61 | @param frame input media frame.
62 | */
63 | GAPI_EXPORTS GMat UV(const cv::GFrame& frame);
64 | } // namespace streaming
65 |
66 | //! @addtogroup gapi_transform
67 | //! @{
68 | /** @brief Makes a copy of the input image. Note that this copy may be not real
69 | (no actual data copied). Use this function to maintain graph contracts,
70 | e.g when graph's input needs to be passed directly to output, like in Streaming mode.
71 |
72 | @note Function textual ID is "org.opencv.streaming.copy"
73 |
74 | @param in Input image
75 | @return Copy of the input
76 | */
77 | GAPI_EXPORTS_W GMat copy(const GMat& in);
78 |
79 | /** @brief Makes a copy of the input frame. Note that this copy may be not real
80 | (no actual data copied). Use this function to maintain graph contracts,
81 | e.g when graph's input needs to be passed directly to output, like in Streaming mode.
82 |
83 | @note Function textual ID is "org.opencv.streaming.copy"
84 |
85 | @param in Input frame
86 | @return Copy of the input
87 | */
88 | GAPI_EXPORTS GFrame copy(const GFrame& in);
89 | //! @} gapi_transform
90 |
91 | } // namespace gapi
92 | } // namespace cv
93 |
94 | #endif // OPENCV_GAPI_GSTREAMING_FORMAT_HPP
95 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/streaming/meta.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_GSTREAMING_META_HPP
9 | #define OPENCV_GAPI_GSTREAMING_META_HPP
10 |
11 | #include
12 | #include
13 | #include
14 | #include
15 |
16 | namespace cv {
17 | namespace gapi {
18 | namespace streaming {
19 |
20 | // FIXME: the name is debatable
21 | namespace meta_tag {
22 | static constexpr const char * timestamp = "org.opencv.gapi.meta.timestamp";
23 | static constexpr const char * seq_id = "org.opencv.gapi.meta.seq_id";
24 | } // namespace meta_tag
25 |
26 | namespace detail {
27 | struct GMeta {
28 | static const char *id() {
29 | return "org.opencv.streaming.meta";
30 | }
31 | // A universal yield for meta(), same as in GDesync
32 | template
33 | static std::tuple yield(cv::GCall &call, cv::detail::Seq) {
34 | return std::make_tuple(cv::detail::Yield::yield(call, IIs)...);
35 | }
36 | // Also a universal outMeta stub here
37 | static GMetaArgs getOutMeta(const GMetaArgs &args, const GArgs &) {
38 | return args;
39 | }
40 | };
41 | } // namespace detail
42 |
43 | template
44 | cv::GOpaque meta(G g, const std::string &tag) {
45 | using O = cv::GOpaque;
46 | cv::GKernel k{
47 | detail::GMeta::id() // kernel id
48 | , tag // kernel tag. Use meta tag here
49 | , &detail::GMeta::getOutMeta // outMeta callback
50 | , {cv::detail::GTypeTraits::shape} // output Shape
51 | , {cv::detail::GTypeTraits::op_kind} // input data kinds
52 | , {cv::detail::GObtainCtor::get()} // output template ctors
53 | };
54 | cv::GCall call(std::move(k));
55 | call.pass(g);
56 | return std::get<0>(detail::GMeta::yield(call, cv::detail::MkSeq<1>::type()));
57 | }
58 |
59 | template
60 | cv::GOpaque timestamp(G g) {
61 | return meta(g, meta_tag::timestamp);
62 | }
63 |
64 | template
65 | cv::GOpaque seq_id(G g) {
66 | return meta(g, meta_tag::seq_id);
67 | }
68 |
69 | template
70 | cv::GOpaque seqNo(G g) {
71 | // Old name, compatibility only
72 | return seq_id(g);
73 | }
74 |
75 | } // namespace streaming
76 | } // namespace gapi
77 | } // namespace cv
78 |
79 | #endif // OPENCV_GAPI_GSTREAMING_META_HPP
80 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/streaming/source.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2019 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_STREAMING_SOURCE_HPP
8 | #define OPENCV_GAPI_STREAMING_SOURCE_HPP
9 |
10 | #include // shared_ptr
11 | #include // is_base_of
12 |
13 | #include // GMetaArg
14 |
15 |
16 | namespace cv {
17 | namespace gapi {
18 | namespace wip {
19 | struct Data; // "forward-declaration" of GRunArg
20 |
21 | /**
22 | * @brief Abstract streaming pipeline source.
23 | *
24 | * Implement this interface if you want customize the way how data is
25 | * streaming into GStreamingCompiled.
26 | *
27 | * Objects implementing this interface can be passed to
28 | * GStreamingCompiled using setSource() with cv::gin(). Regular
29 | * compiled graphs (GCompiled) don't support input objects of this
30 | * type.
31 | *
32 | * Default cv::VideoCapture-based implementation is available, see
33 | * cv::gapi::wip::GCaptureSource.
34 | *
35 | * @note stream sources are passed to G-API via shared pointers, so
36 | * please use ptr() when passing a IStreamSource implementation to
37 | * cv::gin().
38 | */
39 | class IStreamSource: public std::enable_shared_from_this
40 | {
41 | public:
42 | using Ptr = std::shared_ptr;
43 | Ptr ptr() { return shared_from_this(); }
44 | virtual bool pull(Data &data) = 0;
45 | virtual GMetaArg descr_of() const = 0;
46 | virtual ~IStreamSource() = default;
47 | };
48 |
49 | template
50 | IStreamSource::Ptr inline make_src(Args&&... args)
51 | {
52 | static_assert(std::is_base_of::value,
53 | "T must implement the cv::gapi::IStreamSource interface!");
54 | auto src_ptr = std::make_shared(std::forward(args)...);
55 | return src_ptr->ptr();
56 | }
57 |
58 | } // namespace wip
59 | } // namespace gapi
60 | } // namespace cv
61 |
62 | #endif // OPENCV_GAPI_STREAMING_SOURCE_HPP
63 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/streaming/sync.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2021 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_STREAMING_SYNC_HPP
8 | #define OPENCV_GAPI_STREAMING_SYNC_HPP
9 |
10 | namespace cv {
11 | namespace gapi {
12 | namespace streaming {
13 |
14 | enum class sync_policy {
15 | dont_sync,
16 | drop
17 | };
18 |
19 | } // namespace streaming
20 | } // namespace gapi
21 |
22 | namespace detail {
23 | template<> struct CompileArgTag {
24 | static const char* tag() { return "gapi.streaming.sync_policy"; }
25 | };
26 |
27 | } // namespace detail
28 | } // namespace cv
29 |
30 | #endif // OPENCV_GAPI_STREAMING_SYNC_HPP
31 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/util/compiler_hints.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_UTIL_COMPILER_HINTS_HPP
8 | #define OPENCV_GAPI_UTIL_COMPILER_HINTS_HPP
9 |
10 | namespace cv
11 | {
12 | namespace util
13 | {
14 | //! Utility template function to prevent "unused" warnings by various compilers.
15 | template void suppress_unused_warning( const T& ) {}
16 | } // namespace util
17 | } // namespace cv
18 |
19 | #endif /* OPENCV_GAPI_UTIL_COMPILER_HINTS_HPP */
20 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/util/copy_through_move.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 | #ifndef OPENCV_GAPI_UTIL_COPY_THROUGH_MOVE_HPP
8 | #define OPENCV_GAPI_UTIL_COPY_THROUGH_MOVE_HPP
9 |
10 | #include //decay_t
11 |
12 | namespace cv
13 | {
14 | namespace util
15 | {
16 | //This is a tool to move initialize captures of a lambda in C++11
17 | template
18 | struct copy_through_move_t{
19 | T value;
20 | const T& get() const {return value;}
21 | T& get() {return value;}
22 | copy_through_move_t(T&& g) : value(std::move(g)) {}
23 | copy_through_move_t(copy_through_move_t&&) = default;
24 | copy_through_move_t(copy_through_move_t const& lhs) : copy_through_move_t(std::move(const_cast(lhs))) {}
25 | };
26 |
27 | template
28 | copy_through_move_t> copy_through_move(T&& t){
29 | return std::forward(t);
30 | }
31 | } // namespace util
32 | } // namespace cv
33 |
34 | #endif /* OPENCV_GAPI_UTIL_COPY_THROUGH_MOVE_HPP */
35 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/util/throw.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2018 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_UTIL_THROW_HPP
9 | #define OPENCV_GAPI_UTIL_THROW_HPP
10 |
11 | #include // std::forward
12 |
13 | #if !defined(__EXCEPTIONS)
14 | #include
15 | #include
16 | #endif
17 |
18 | namespace cv
19 | {
20 | namespace util
21 | {
22 | template
23 | [[noreturn]] void throw_error(ExceptionType &&e)
24 | {
25 | #if defined(__EXCEPTIONS) || defined(_CPPUNWIND)
26 | throw std::forward(e);
27 | #else
28 | fprintf(stderr, "An exception thrown! %s\n" , e.what());
29 | fflush(stderr);
30 | abort();
31 | #endif
32 | }
33 | } // namespace util
34 | } // namespace cv
35 |
36 | #endif // OPENCV_GAPI_UTIL_THROW_HPP
37 |
--------------------------------------------------------------------------------
/android/include/opencv2/gapi/util/type_traits.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 | //
5 | // Copyright (C) 2020 Intel Corporation
6 |
7 |
8 | #ifndef OPENCV_GAPI_UTIL_TYPE_TRAITS_HPP
9 | #define OPENCV_GAPI_UTIL_TYPE_TRAITS_HPP
10 |
11 | #include
12 |
13 | namespace cv
14 | {
15 | namespace util
16 | {
17 | //these are C++14 parts of type_traits :
18 | template< bool B, class T = void >
19 | using enable_if_t = typename std::enable_if::type;
20 |
21 | template
22 | using decay_t = typename std::decay::type;
23 |
24 | //this is not part of C++14 but still, of pretty common usage
25 | template
26 | using are_different_t = enable_if_t< !std::is_same, decay_t>::value, V>;
27 |
28 | } // namespace cv
29 | } // namespace util
30 |
31 | #endif // OPENCV_GAPI_UTIL_TYPE_TRAITS_HPP
32 |
--------------------------------------------------------------------------------
/android/include/opencv2/highgui/highgui.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/highgui.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgcodecs/imgcodecs.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/imgcodecs.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgcodecs/imgcodecs_c.h:
--------------------------------------------------------------------------------
1 | #error "This header with legacy C API declarations has been removed from OpenCV. Legacy constants are available from legacy/constants_c.h file."
2 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgcodecs/ios.h:
--------------------------------------------------------------------------------
1 |
2 | /*M///////////////////////////////////////////////////////////////////////////////////////
3 | //
4 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
5 | //
6 | // By downloading, copying, installing or using the software you agree to this license.
7 | // If you do not agree to this license, do not download, install,
8 | // copy or use the software.
9 | //
10 | //
11 | // License Agreement
12 | // For Open Source Computer Vision Library
13 | //
14 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
15 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #import
45 | #import
46 | #import
47 | #import
48 | #include "opencv2/core.hpp"
49 |
50 | //! @addtogroup imgcodecs_ios
51 | //! @{
52 |
53 | CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED;
54 | CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist = false);
55 | CV_EXPORTS UIImage* MatToUIImage(const cv::Mat& image);
56 | CV_EXPORTS void UIImageToMat(const UIImage* image,
57 | cv::Mat& m, bool alphaExist = false);
58 |
59 | //! @}
60 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgcodecs/legacy/constants_c.h:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_IMGCODECS_LEGACY_CONSTANTS_H
6 | #define OPENCV_IMGCODECS_LEGACY_CONSTANTS_H
7 |
8 | /* duplicate of "ImreadModes" enumeration for better compatibility with OpenCV 3.x */
9 | enum
10 | {
11 | /* 8bit, color or not */
12 | CV_LOAD_IMAGE_UNCHANGED =-1,
13 | /* 8bit, gray */
14 | CV_LOAD_IMAGE_GRAYSCALE =0,
15 | /* ?, color */
16 | CV_LOAD_IMAGE_COLOR =1,
17 | /* any depth, ? */
18 | CV_LOAD_IMAGE_ANYDEPTH =2,
19 | /* ?, any color */
20 | CV_LOAD_IMAGE_ANYCOLOR =4,
21 | /* ?, no rotate */
22 | CV_LOAD_IMAGE_IGNORE_ORIENTATION =128
23 | };
24 |
25 | /* duplicate of "ImwriteFlags" enumeration for better compatibility with OpenCV 3.x */
26 | enum
27 | {
28 | CV_IMWRITE_JPEG_QUALITY =1,
29 | CV_IMWRITE_JPEG_PROGRESSIVE =2,
30 | CV_IMWRITE_JPEG_OPTIMIZE =3,
31 | CV_IMWRITE_JPEG_RST_INTERVAL =4,
32 | CV_IMWRITE_JPEG_LUMA_QUALITY =5,
33 | CV_IMWRITE_JPEG_CHROMA_QUALITY =6,
34 | CV_IMWRITE_PNG_COMPRESSION =16,
35 | CV_IMWRITE_PNG_STRATEGY =17,
36 | CV_IMWRITE_PNG_BILEVEL =18,
37 | CV_IMWRITE_PNG_STRATEGY_DEFAULT =0,
38 | CV_IMWRITE_PNG_STRATEGY_FILTERED =1,
39 | CV_IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY =2,
40 | CV_IMWRITE_PNG_STRATEGY_RLE =3,
41 | CV_IMWRITE_PNG_STRATEGY_FIXED =4,
42 | CV_IMWRITE_PXM_BINARY =32,
43 | CV_IMWRITE_EXR_TYPE = 48,
44 | CV_IMWRITE_WEBP_QUALITY =64,
45 | CV_IMWRITE_PAM_TUPLETYPE = 128,
46 | CV_IMWRITE_PAM_FORMAT_NULL = 0,
47 | CV_IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1,
48 | CV_IMWRITE_PAM_FORMAT_GRAYSCALE = 2,
49 | CV_IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3,
50 | CV_IMWRITE_PAM_FORMAT_RGB = 4,
51 | CV_IMWRITE_PAM_FORMAT_RGB_ALPHA = 5,
52 | };
53 |
54 | #endif // OPENCV_IMGCODECS_LEGACY_CONSTANTS_H
55 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgcodecs/macosx.h:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #if !defined(__APPLE__) || !defined(__MACH__)
6 | #error This header should be used in macOS ObjC/Swift projects.
7 | #endif
8 |
9 | #import
10 | #include "opencv2/core.hpp"
11 |
12 | //! @addtogroup imgcodecs_macosx
13 | //! @{
14 |
15 | CV_EXPORTS CGImageRef MatToCGImage(const cv::Mat& image) CF_RETURNS_RETAINED;
16 | CV_EXPORTS void CGImageToMat(const CGImageRef image, cv::Mat& m, bool alphaExist = false);
17 | CV_EXPORTS NSImage* MatToNSImage(const cv::Mat& image);
18 | CV_EXPORTS void NSImageToMat(const NSImage* image, cv::Mat& m, bool alphaExist = false);
19 |
20 | //! @}
21 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgproc/bindings.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_IMGPROC_BINDINGS_HPP
6 | #define OPENCV_IMGPROC_BINDINGS_HPP
7 |
8 | // This file contains special overloads for OpenCV bindings
9 | // No need to use these functions in C++ code.
10 |
11 | namespace cv {
12 |
13 | /** @brief Finds lines in a binary image using the standard Hough transform and get accumulator.
14 | *
15 | * @note This function is for bindings use only. Use original function in C++ code
16 | *
17 | * @sa HoughLines
18 | */
19 | CV_WRAP static inline
20 | void HoughLinesWithAccumulator(
21 | InputArray image, OutputArray lines,
22 | double rho, double theta, int threshold,
23 | double srn = 0, double stn = 0,
24 | double min_theta = 0, double max_theta = CV_PI
25 | )
26 | {
27 | std::vector lines_acc;
28 | HoughLines(image, lines_acc, rho, theta, threshold, srn, stn, min_theta, max_theta);
29 | Mat(lines_acc).copyTo(lines);
30 | }
31 |
32 | } // namespace
33 |
34 | #endif // OPENCV_IMGPROC_BINDINGS_HPP
35 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgproc/hal/interface.h:
--------------------------------------------------------------------------------
1 | #ifndef OPENCV_IMGPROC_HAL_INTERFACE_H
2 | #define OPENCV_IMGPROC_HAL_INTERFACE_H
3 |
4 | //! @addtogroup imgproc_hal_interface
5 | //! @{
6 |
7 | //! @name Interpolation modes
8 | //! @sa cv::InterpolationFlags
9 | //! @{
10 | #define CV_HAL_INTER_NEAREST 0
11 | #define CV_HAL_INTER_LINEAR 1
12 | #define CV_HAL_INTER_CUBIC 2
13 | #define CV_HAL_INTER_AREA 3
14 | #define CV_HAL_INTER_LANCZOS4 4
15 | //! @}
16 |
17 | //! @name Morphology operations
18 | //! @sa cv::MorphTypes
19 | //! @{
20 | #define CV_HAL_MORPH_ERODE 0
21 | #define CV_HAL_MORPH_DILATE 1
22 | //! @}
23 |
24 | //! @name Threshold types
25 | //! @sa cv::ThresholdTypes
26 | //! @{
27 | #define CV_HAL_THRESH_BINARY 0
28 | #define CV_HAL_THRESH_BINARY_INV 1
29 | #define CV_HAL_THRESH_TRUNC 2
30 | #define CV_HAL_THRESH_TOZERO 3
31 | #define CV_HAL_THRESH_TOZERO_INV 4
32 | #define CV_HAL_THRESH_MASK 7
33 | #define CV_HAL_THRESH_OTSU 8
34 | #define CV_HAL_THRESH_TRIANGLE 16
35 | //! @}
36 |
37 | //! @name Adaptive threshold algorithm
38 | //! @sa cv::AdaptiveThresholdTypes
39 | //! @{
40 | #define CV_HAL_ADAPTIVE_THRESH_MEAN_C 0
41 | #define CV_HAL_ADAPTIVE_THRESH_GAUSSIAN_C 1
42 | //! @}
43 |
44 | //! @}
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/android/include/opencv2/imgproc/imgproc.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/imgproc.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/ml/ml.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/ml.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/ml/ml.inl.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_ML_INL_HPP
6 | #define OPENCV_ML_INL_HPP
7 |
8 | namespace cv { namespace ml {
9 |
10 | // declared in ml.hpp
11 | template
12 | int simulatedAnnealingSolver(SimulatedAnnealingSolverSystem& solverSystem,
13 | double initialTemperature, double finalTemperature, double coolingRatio,
14 | size_t iterationsPerStep,
15 | CV_OUT double* lastTemperature,
16 | cv::RNG& rngEnergy
17 | )
18 | {
19 | CV_Assert(finalTemperature > 0);
20 | CV_Assert(initialTemperature > finalTemperature);
21 | CV_Assert(iterationsPerStep > 0);
22 | CV_Assert(coolingRatio < 1.0f);
23 | double Ti = initialTemperature;
24 | double previousEnergy = solverSystem.energy();
25 | int exchange = 0;
26 | while (Ti > finalTemperature)
27 | {
28 | for (size_t i = 0; i < iterationsPerStep; i++)
29 | {
30 | solverSystem.changeState();
31 | double newEnergy = solverSystem.energy();
32 | if (newEnergy < previousEnergy)
33 | {
34 | previousEnergy = newEnergy;
35 | exchange++;
36 | }
37 | else
38 | {
39 | double r = rngEnergy.uniform(0.0, 1.0);
40 | if (r < std::exp(-(newEnergy - previousEnergy) / Ti))
41 | {
42 | previousEnergy = newEnergy;
43 | exchange++;
44 | }
45 | else
46 | {
47 | solverSystem.reverseState();
48 | }
49 | }
50 | }
51 | Ti *= coolingRatio;
52 | }
53 | if (lastTemperature)
54 | *lastTemperature = Ti;
55 | return exchange;
56 | }
57 |
58 | }} //namespace
59 |
60 | #endif // OPENCV_ML_INL_HPP
61 |
--------------------------------------------------------------------------------
/android/include/opencv2/objdetect/objdetect.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/objdetect.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/opencv_modules.hpp:
--------------------------------------------------------------------------------
1 | /*
2 | * ** File generated automatically, do not modify **
3 | *
4 | * This file defines the list of modules available in current build configuration
5 | *
6 | *
7 | */
8 |
9 | // This definition means that OpenCV is built with enabled non-free code.
10 | // For example, patented algorithms for non-profit/non-commercial use only.
11 | /* #undef OPENCV_ENABLE_NONFREE */
12 |
13 | #define HAVE_OPENCV_CALIB3D
14 | #define HAVE_OPENCV_CORE
15 | #define HAVE_OPENCV_DNN
16 | #define HAVE_OPENCV_FEATURES2D
17 | #define HAVE_OPENCV_FLANN
18 | #define HAVE_OPENCV_GAPI
19 | #define HAVE_OPENCV_HIGHGUI
20 | #define HAVE_OPENCV_IMGCODECS
21 | #define HAVE_OPENCV_IMGPROC
22 | #define HAVE_OPENCV_ML
23 | #define HAVE_OPENCV_OBJDETECT
24 | #define HAVE_OPENCV_PHOTO
25 | #define HAVE_OPENCV_STITCHING
26 | #define HAVE_OPENCV_VIDEO
27 | #define HAVE_OPENCV_VIDEOIO
28 |
29 |
30 |
--------------------------------------------------------------------------------
/android/include/opencv2/photo/legacy/constants_c.h:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_PHOTO_LEGACY_CONSTANTS_H
6 | #define OPENCV_PHOTO_LEGACY_CONSTANTS_H
7 |
8 | enum InpaintingModes
9 | {
10 | CV_INPAINT_NS =0,
11 | CV_INPAINT_TELEA =1
12 | };
13 |
14 | #endif // OPENCV_PHOTO_LEGACY_CONSTANTS_H
15 |
--------------------------------------------------------------------------------
/android/include/opencv2/photo/photo.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/photo.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/video.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifndef OPENCV_VIDEO_HPP
45 | #define OPENCV_VIDEO_HPP
46 |
47 | /**
48 | @defgroup video Video Analysis
49 | @{
50 | @defgroup video_motion Motion Analysis
51 | @defgroup video_track Object Tracking
52 | @defgroup video_c C API
53 | @}
54 | */
55 |
56 | #include "opencv2/video/tracking.hpp"
57 | #include "opencv2/video/background_segm.hpp"
58 |
59 | #endif //OPENCV_VIDEO_HPP
60 |
--------------------------------------------------------------------------------
/android/include/opencv2/video/legacy/constants_c.h:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_VIDEO_LEGACY_CONSTANTS_H
6 | #define OPENCV_VIDEO_LEGACY_CONSTANTS_H
7 |
8 | enum
9 | {
10 | CV_LKFLOW_PYR_A_READY = 1,
11 | CV_LKFLOW_PYR_B_READY = 2,
12 | CV_LKFLOW_INITIAL_GUESSES = 4,
13 | CV_LKFLOW_GET_MIN_EIGENVALS = 8
14 | };
15 |
16 | #endif // OPENCV_VIDEO_LEGACY_CONSTANTS_H
17 |
--------------------------------------------------------------------------------
/android/include/opencv2/video/video.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/video.hpp"
49 |
--------------------------------------------------------------------------------
/android/include/opencv2/videoio/registry.hpp:
--------------------------------------------------------------------------------
1 | // This file is part of OpenCV project.
2 | // It is subject to the license terms in the LICENSE file found in the top-level directory
3 | // of this distribution and at http://opencv.org/license.html.
4 |
5 | #ifndef OPENCV_VIDEOIO_REGISTRY_HPP
6 | #define OPENCV_VIDEOIO_REGISTRY_HPP
7 |
8 | #include
9 |
10 | namespace cv { namespace videoio_registry {
11 | /** @addtogroup videoio_registry
12 | This section contains API description how to query/configure available Video I/O backends.
13 |
14 | Runtime configuration options:
15 | - enable debug mode: `OPENCV_VIDEOIO_DEBUG=1`
16 | - change backend priority: `OPENCV_VIDEOIO_PRIORITY_=9999`
17 | - disable backend: `OPENCV_VIDEOIO_PRIORITY_=0`
18 | - specify list of backends with high priority (>100000): `OPENCV_VIDEOIO_PRIORITY_LIST=FFMPEG,GSTREAMER`
19 |
20 | @{
21 | */
22 |
23 |
24 | /** @brief Returns backend API name or "UnknownVideoAPI(xxx)"
25 | @param api backend ID (#VideoCaptureAPIs)
26 | */
27 | CV_EXPORTS_W cv::String getBackendName(VideoCaptureAPIs api);
28 |
29 | /** @brief Returns list of all available backends */
30 | CV_EXPORTS_W std::vector getBackends();
31 |
32 | /** @brief Returns list of available backends which works via `cv::VideoCapture(int index)` */
33 | CV_EXPORTS_W std::vector getCameraBackends();
34 |
35 | /** @brief Returns list of available backends which works via `cv::VideoCapture(filename)` */
36 | CV_EXPORTS_W std::vector getStreamBackends();
37 |
38 | /** @brief Returns list of available backends which works via `cv::VideoWriter()` */
39 | CV_EXPORTS_W std::vector getWriterBackends();
40 |
41 | /** @brief Returns true if backend is available */
42 | CV_EXPORTS_W bool hasBackend(VideoCaptureAPIs api);
43 |
44 | /** @brief Returns true if backend is built in (false if backend is used as plugin) */
45 | CV_EXPORTS_W bool isBackendBuiltIn(VideoCaptureAPIs api);
46 |
47 | /** @brief Returns description and ABI/API version of videoio plugin's camera interface */
48 | CV_EXPORTS_W std::string getCameraBackendPluginVersion(
49 | VideoCaptureAPIs api,
50 | CV_OUT int& version_ABI,
51 | CV_OUT int& version_API
52 | );
53 |
54 | /** @brief Returns description and ABI/API version of videoio plugin's stream capture interface */
55 | CV_EXPORTS_W std::string getStreamBackendPluginVersion(
56 | VideoCaptureAPIs api,
57 | CV_OUT int& version_ABI,
58 | CV_OUT int& version_API
59 | );
60 |
61 | /** @brief Returns description and ABI/API version of videoio plugin's writer interface */
62 | CV_EXPORTS_W std::string getWriterBackendPluginVersion(
63 | VideoCaptureAPIs api,
64 | CV_OUT int& version_ABI,
65 | CV_OUT int& version_API
66 | );
67 |
68 |
69 | //! @}
70 | }} // namespace
71 |
72 | #endif // OPENCV_VIDEOIO_REGISTRY_HPP
73 |
--------------------------------------------------------------------------------
/android/include/opencv2/videoio/videoio.hpp:
--------------------------------------------------------------------------------
1 | /*M///////////////////////////////////////////////////////////////////////////////////////
2 | //
3 | // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 | //
5 | // By downloading, copying, installing or using the software you agree to this license.
6 | // If you do not agree to this license, do not download, install,
7 | // copy or use the software.
8 | //
9 | //
10 | // License Agreement
11 | // For Open Source Computer Vision Library
12 | //
13 | // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 | // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 | // Copyright (C) 2013, OpenCV Foundation, all rights reserved.
16 | // Third party copyrights are property of their respective owners.
17 | //
18 | // Redistribution and use in source and binary forms, with or without modification,
19 | // are permitted provided that the following conditions are met:
20 | //
21 | // * Redistribution's of source code must retain the above copyright notice,
22 | // this list of conditions and the following disclaimer.
23 | //
24 | // * Redistribution's in binary form must reproduce the above copyright notice,
25 | // this list of conditions and the following disclaimer in the documentation
26 | // and/or other materials provided with the distribution.
27 | //
28 | // * The name of the copyright holders may not be used to endorse or promote products
29 | // derived from this software without specific prior written permission.
30 | //
31 | // This software is provided by the copyright holders and contributors "as is" and
32 | // any express or implied warranties, including, but not limited to, the implied
33 | // warranties of merchantability and fitness for a particular purpose are disclaimed.
34 | // In no event shall the Intel Corporation or contributors be liable for any direct,
35 | // indirect, incidental, special, exemplary, or consequential damages
36 | // (including, but not limited to, procurement of substitute goods or services;
37 | // loss of use, data, or profits; or business interruption) however caused
38 | // and on any theory of liability, whether in contract, strict liability,
39 | // or tort (including negligence or otherwise) arising in any way out of
40 | // the use of this software, even if advised of the possibility of such damage.
41 | //
42 | //M*/
43 |
44 | #ifdef __OPENCV_BUILD
45 | #error this is a compatibility header which should not be used inside the OpenCV library
46 | #endif
47 |
48 | #include "opencv2/videoio.hpp"
49 |
--------------------------------------------------------------------------------
/android/opencv_flutter_ffi_android.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4 | def properties = new Properties()
5 |
6 | assert localPropertiesFile.exists()
7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
8 |
9 | def flutterSdkPath = properties.getProperty("flutter.sdk")
10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
12 |
--------------------------------------------------------------------------------
/android/src/main/jniLibs/arm64-v8a/libopencv_java4.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/src/main/jniLibs/arm64-v8a/libopencv_java4.so
--------------------------------------------------------------------------------
/android/src/main/jniLibs/armeabi-v7a/libopencv_java4.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/src/main/jniLibs/armeabi-v7a/libopencv_java4.so
--------------------------------------------------------------------------------
/android/src/main/jniLibs/x86/libopencv_java4.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/src/main/jniLibs/x86/libopencv_java4.so
--------------------------------------------------------------------------------
/android/src/main/jniLibs/x86_64/libopencv_java4.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/android/src/main/jniLibs/x86_64/libopencv_java4.so
--------------------------------------------------------------------------------
/assets/img/default.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/assets/img/default.jpg
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/ephemeral/
22 | Flutter/app.flx
23 | Flutter/app.zip
24 | Flutter/flutter_assets/
25 | Flutter/flutter_export_environment.sh
26 | ServiceDefinitions.json
27 | Runner/GeneratedPluginRegistrant.*
28 |
29 | # Exceptions to above rules.
30 | !default.mode1v3
31 | !default.mode2v3
32 | !default.pbxuser
33 | !default.perspectivev3
34 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Podfile:
--------------------------------------------------------------------------------
1 | # Uncomment this line to define a global platform for your project
2 | # platform :ios, '9.0'
3 |
4 | # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
5 | ENV['COCOAPODS_DISABLE_STATS'] = 'true'
6 |
7 | project 'Runner', {
8 | 'Debug' => :debug,
9 | 'Profile' => :release,
10 | 'Release' => :release,
11 | }
12 |
13 | def flutter_root
14 | generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
15 | unless File.exist?(generated_xcode_build_settings_path)
16 | raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
17 | end
18 |
19 | File.foreach(generated_xcode_build_settings_path) do |line|
20 | matches = line.match(/FLUTTER_ROOT\=(.*)/)
21 | return matches[1].strip if matches
22 | end
23 | raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
24 | end
25 |
26 | require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
27 |
28 | flutter_ios_podfile_setup
29 |
30 | target 'Runner' do
31 | use_frameworks!
32 | use_modular_headers!
33 |
34 | flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
35 | end
36 |
37 | post_install do |installer|
38 | installer.pods_project.targets.each do |target|
39 | flutter_additional_ios_build_settings(target)
40 | end
41 | end
42 |
--------------------------------------------------------------------------------
/ios/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - camera (0.0.1):
3 | - Flutter
4 | - Flutter (1.0.0)
5 | - image_picker (0.0.1):
6 | - Flutter
7 |
8 | DEPENDENCIES:
9 | - camera (from `.symlinks/plugins/camera/ios`)
10 | - Flutter (from `Flutter`)
11 | - image_picker (from `.symlinks/plugins/image_picker/ios`)
12 |
13 | EXTERNAL SOURCES:
14 | camera:
15 | :path: ".symlinks/plugins/camera/ios"
16 | Flutter:
17 | :path: Flutter
18 | image_picker:
19 | :path: ".symlinks/plugins/image_picker/ios"
20 |
21 | SPEC CHECKSUMS:
22 | camera: 3164201dc344383e62282964016528c4f5a9ad50
23 | Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
24 | image_picker: e06f7a68f000bd36f552c1847e33cda96ed31f1f
25 |
26 | PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
27 |
28 | COCOAPODS: 1.10.1
29 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | opencv_flutter_ffi
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | NSPhotoLibraryUsageDescription
43 | Used to take image from gallery
44 | NSCameraUsageDescription
45 | Used to take image from camera
46 | NSMicrophoneUsageDescription
47 | Used to take video from camera
48 | UIViewControllerBasedStatusBarAppearance
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/generated_plugin_registrant.dart:
--------------------------------------------------------------------------------
1 | //
2 | // Generated file. Do not edit.
3 | //
4 |
5 | // ignore_for_file: lines_longer_than_80_chars
6 |
7 | import 'package:image_picker_for_web/image_picker_for_web.dart';
8 |
9 | import 'package:flutter_web_plugins/flutter_web_plugins.dart';
10 |
11 | // ignore: public_member_api_docs
12 | void registerPlugins(Registrar registrar) {
13 | ImagePickerPlugin.registerWith(registrar);
14 | registrar.registerMessageHandler();
15 | }
16 |
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:image_picker/image_picker.dart';
3 | import 'dart:ffi';
4 | import 'package:ffi/ffi.dart';
5 | import 'dart:io';
6 | import 'package:camera/camera.dart';
7 |
8 | import 'livecamera.dart';
9 |
10 | void main() {
11 | runApp(MyApp());
12 | }
13 |
14 | class MyApp extends StatelessWidget {
15 | @override
16 | Widget build(BuildContext context) {
17 | return MaterialApp(
18 | title: 'OpenCV on Flutter',
19 | theme: ThemeData(primarySwatch: Colors.blue),
20 | home: MyHomePage(title: 'OpenCV C++ on dart:ffi'),
21 | );
22 | }
23 | }
24 |
25 | class MyHomePage extends StatefulWidget {
26 | MyHomePage({Key? key, required this.title}) : super(key: key);
27 | final String title;
28 |
29 | @override
30 | _MyHomePageState createState() => _MyHomePageState();
31 | }
32 |
33 | class _MyHomePageState extends State {
34 | final ImagePicker _picker = ImagePicker();
35 | // For Android, you call DynamicLibrary to find and open the shared library
36 | // You don’t need to do this in iOS since all linked symbols map when an app runs.
37 | final dylib = Platform.isAndroid
38 | ? DynamicLibrary.open("libOpenCV_ffi.so")
39 | : DynamicLibrary.process();
40 | Image _img = Image.asset('assets/img/default.jpg');
41 | @override
42 | Widget build(BuildContext context) {
43 | return Scaffold(
44 | appBar: AppBar(title: Text(widget.title)),
45 | body: Center(
46 | child: Column(
47 | mainAxisAlignment: MainAxisAlignment.center,
48 | children: [
49 | ElevatedButton(
50 | onPressed: () async {
51 | WidgetsFlutterBinding.ensureInitialized();
52 | // Obtain a list of the available cameras on the device.
53 | final cameras = await availableCameras();
54 | // Get a specific camera from the list of available cameras.
55 | final firstCamera = cameras.first;
56 | Navigator.push(
57 | context,
58 | MaterialPageRoute(
59 | builder: (context) =>
60 | TakePictureScreen(camera: firstCamera)));
61 | },
62 | child: Text('Camera')),
63 | ElevatedButton(
64 | onPressed: () async {
65 | final imageFile =
66 | await _picker.pickImage(source: ImageSource.gallery);
67 | final imagePath =
68 | imageFile?.path.toNativeUtf8() ?? "none".toNativeUtf8();
69 | final gaussian = dylib.lookupFunction<
70 | Void Function(Pointer),
71 | void Function(Pointer)>('Gaussian');
72 | gaussian(imagePath);
73 | setState(() {
74 | _img = Image.file(File(imagePath.toDartString()));
75 | });
76 | },
77 | child: Text("Pick Image from Gallery"),
78 | ),
79 | Center(child: _img),
80 | ],
81 | ),
82 | ),
83 | );
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/lib/opencv-cpp/gaussian.cpp:
--------------------------------------------------------------------------------
1 | #include
2 |
3 | using namespace cv;
4 |
5 | void Gaussian(char *path) {
6 | Mat img = imread(path);
7 | Mat temp;
8 | GaussianBlur(img, temp, Size(75, 75), 0, 0);
9 | imwrite(path, temp);
10 | }
--------------------------------------------------------------------------------
/lib/opencv-cpp/image_ffi.cpp:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | void image_ffi (uchar *buf, uint *size) {
6 | std::vector v(buf, buf + size[0]);
7 | cv::Mat img = cv::imdecode(cv::Mat(v), cv::IMREAD_COLOR);
8 |
9 |
10 | cv::GaussianBlur(img, img, cv::Size(15, 15), 0, 0);
11 | cv::putText(img, "Hello World!", cv::Size(30, 30), 1, 1.5, 2, 2);
12 |
13 |
14 | std::vector retv;
15 | cv::imencode(".jpg", img, retv);
16 | memcpy(buf, retv.data(), retv.size());
17 | size[0] = retv.size();
18 | }
--------------------------------------------------------------------------------
/lib/opencv-cpp/main.cpp:
--------------------------------------------------------------------------------
1 | extern "C" __attribute__((visibility("default"))) __attribute__((used))
2 | void Gaussian(char *);
3 |
4 | extern "C" __attribute__((visibility("default"))) __attribute__((used))
5 | void image_ffi (unsigned char *, unsigned int *);
6 |
7 | #include "gaussian.cpp"
8 | #include "image_ffi.cpp"
--------------------------------------------------------------------------------
/opencv_flutter_ffi.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: opencv_flutter_ffi
2 | description: A new Flutter project.
3 |
4 | publish_to: "none" # Remove this line if you wish to publish to pub.dev
5 |
6 | version: 1.0.0+1
7 |
8 | environment:
9 | sdk: ">=2.12.0 <3.0.0"
10 |
11 | dependencies:
12 | flutter:
13 | sdk: flutter
14 | ffi: ^1.1.2
15 | image_picker: ^0.8.2
16 | camera: ^0.10.3+2
17 | image: ^3.0.2
18 |
19 | dev_dependencies:
20 | flutter_test:
21 | sdk: flutter
22 |
23 | flutter:
24 | uses-material-design: true
25 | assets:
26 | - assets/img/default.jpg
27 |
--------------------------------------------------------------------------------
/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:opencv_flutter_ffi/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(MyApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------
/web/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/web/favicon.png
--------------------------------------------------------------------------------
/web/icons/Icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/web/icons/Icon-192.png
--------------------------------------------------------------------------------
/web/icons/Icon-512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/as1605/opencv_flutter_ffi/0eded2f0baf943ba59d408ae969b85c01db90df5/web/icons/Icon-512.png
--------------------------------------------------------------------------------
/web/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "opencv_flutter_ffi",
3 | "short_name": "opencv_flutter_ffi",
4 | "start_url": ".",
5 | "display": "standalone",
6 | "background_color": "#0175C2",
7 | "theme_color": "#0175C2",
8 | "description": "A new Flutter project.",
9 | "orientation": "portrait-primary",
10 | "prefer_related_applications": false,
11 | "icons": [
12 | {
13 | "src": "icons/Icon-192.png",
14 | "sizes": "192x192",
15 | "type": "image/png"
16 | },
17 | {
18 | "src": "icons/Icon-512.png",
19 | "sizes": "512x512",
20 | "type": "image/png"
21 | }
22 | ]
23 | }
24 |
--------------------------------------------------------------------------------