搜尋套件、儲存庫與 APP 分類

套件詳情v2.2.2

opencv_dart

用於 Flutter 的 OpenCV4 綁定,使用 dart:ffi。

AndroidiOSmacOSWindowsLinux
近 30 天下載
1.5萬
喜歡數
137
Pub 分數
140

安裝套件

flutter pub add opencv_dart

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

opencv_dart 透過 dart:ffi 為 Flutter 提供 OpenCV4 繫結,讓跨平台應用程式具備電腦視覺與影像處理能力。它允許開發者直接在 Android、iOS、macOS、Windows 和 Linux 上的 Flutter 應用中使用 OpenCV 的豐富演算法庫——例如影像濾波、物件偵測與特徵萃取。此套件將原生 OpenCV 功能與 Dart 程式碼連結,透過直接系統呼叫實現高效率。非常適合將即時攝影機處理、OCR 或進階影像分析整合至行動與桌面應用中。

適用情境

  • 即時影像處理
  • OCR 集成
  • 目標檢測
  • 基於攝像頭的分析
  • 人臉辨識

主要特色

  • 跨平台支援
  • 使用 dart:ffi 提升效能
  • OpenCV4 相容性
  • 原生 OpenCV 函數訪問
  • 輕量級包裝

適合對象

  • 需要電腦視覺的Flutter開發人員
  • 需要圖像分析的應用程式
  • 移動和桌面視覺項目
  • 原型視覺功能
  • 效能關鍵的影像處理

使用建議

  • 需要原生 OpenCV 庫
  • 可能需要特定於平台的設定
  • 有限的文件
  • 應用包潛在的大小增加
  • 除錯原生程式碼可能很複雜

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

opencv_dart

OpenCV Bindings for Dart Language. Support both asynchronous and synchronous!

Star on Github License: Apache-2.0
Native Assets Build Discord Server
Package Link Description
dartcv4 OpenCV bindings for Dart Language.
opencv_dart OpenCV for Flutter, from 2.x , it is a wrapper of dartcv4 to keep compatibility.

[!NOTE] WIP, APIs may change in the future, contributions are welcome!

Demos

Screenshot Link
example example
videoio texture renderer
dnn_minist DNN MNIST inference
stitching stitching
stitching camera
stitching videoio

Supported Platforms

Platform Supported Tested Platforms
Android :white_check_mark: :white_check_mark: x86_64, arm64-v8a, armeabi-v7a
iOS :white_check_mark: :white_check_mark: arm64, x64+arm64(Simulator)
Linux :white_check_mark: :white_check_mark: x64, arm64
Windows :white_check_mark: :white_check_mark: x64, arm64
macOS :white_check_mark: :white_check_mark: x64, arm64

Status

Core Modules
module Binding status Test status description
core :white_check_mark: :white_check_mark: Core module
calib3d :white_check_mark: :white_check_mark: Calib3D module
dnn :white_check_mark: :white_check_mark: DNN module
features2d :white_check_mark: :white_check_mark: Features2D module
gapi :x: :x: GAPI module
highgui :white_check_mark: :white_check_mark: HighGUI module
imgcodecs :white_check_mark: :white_check_mark: ImageCodecs module
imgproc :white_check_mark: :white_check_mark: ImageProc module
ml :x: :x: ML module
objdetect :white_check_mark: :white_check_mark: Object Detection module
photo :white_check_mark: :white_check_mark: Photo module
stitching :ballot_box_with_check: :ballot_box_with_check: Stitching module
svd :white_check_mark: :white_check_mark: SVD module
video :white_check_mark: :white_check_mark: Video module
videoio :white_check_mark: :white_check_mark: VideoIO module
Contrib Modules
module Binding status Test status description
aruco :white_check_mark: :white_check_mark: ArUco module
img_hash :white_check_mark: :white_check_mark: Image hashing module
cuda :x: :x:
wechat_qrcode :white_check_mark: :white_check_mark:
bgsegm :x: :x:
superres :x: :x:
xfeatures2d :x: :x:
ximgproc :white_check_mark: :white_check_mark:
xobjdetect :white_check_mark: :white_check_mark:
xphoto :x: :x:
quality :white_check_mark: :white_check_mark:
  • :x: : not finished
  • :ballot_box_with_check: : partially supported
  • :white_check_mark: : finished
  • modules not in the above table are not considered, contributions are welcome
  • videoio: cv.VideoCapture from file is not supported yet supported now.

Usage

Pure Dart
import 'package:dartcv4/dartcv.dart' as cv;

void main() {
  final img = cv.imread("test/images/lenna.png", flags: cv.IMREAD_COLOR);
  final gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY);
  print("${img.rows}, ${img.cols}");

  cv.imwrite("test_cvtcolor.png", gray);
}
Flutter

see awesome-opencv_dart and share yours

TODO

  • [x] compile libs for android, linux
  • [x] support for iOS, macOS
  • [x] add more examples
  • [ ] documentation
  • [x] modify C wrapper to catch exceptions
  • [x] Native Assets, see native-assets branch
  • [x] async
  • [x] more/full test coverage
  • [x] directly include opencv source code, refactor cmakelists.txt

Contributors

rainyl
rainy liu
abdelaziz-mahdy
Abdelaziz Mahdy
einsitang
爱因斯唐
Gold872
Gold87
diegolopezrm
Diego López
Jiinwoo
JinWoo Jung
westito
westito
heyarny
Arnold Stark
dupuchba
Baptiste DUPUCH
Escaton615
Escaton615
mdeleau
mdeleau
pariterre
Pariterre
lennartalff
Thies Lennart Alff
jasaw
jasaw
totemat
Matteo T.

Acknowledgement

Star History

Star History Chart

License

Apache-2.0 License

所屬分類

依賴

依賴清單 1 項

  • dartcv4^2.2.2

原始碼儲存庫

使用此套件的專案

暫無相關資料。