shimat/opencvsharp

OpenCV wrapper for .NET

解決する課題

OpenCvSharpは、.NET開発者がC++のコードを書くことなく、コンピュータビジョンおよび画像処理の業界標準ライブラリであるOpenCVを使用する方法を提供します。これにより、ネイティブのC++ OpenCV APIと.NETエコシステム(C#)の間のギャップを埋め、開発者がマネージド環境で複雑なビジョンタスクを実装できるようにします。

仕組み

ネイティブのOpenCV C++ライブラリをラップするクロスプラットフォームの.NETラッパーとして機能します。APIは、元のOpenCVプロジェクトのドキュメントや概念を容易に転用できるように、ネイティブのC++ APIを可能な限り忠実に再現するように設計されています。決定論的なメモリ管理のためにIDisposableを使用して、アンマネージドなC++リソースからマネージドなC#コードへの移行を処理し、WPF、Avalonia、GDI+などの.NET UIフレームワークと統合するための専用の拡張機能を提供します。

対象者

Windows、Linux、macOS、またはWebAssembly上のアプリケーションに、コンピュータビジョン、画像解析、またはリアルタイムビデオ処理を統合する必要がある.NET開発者(C#を使用)向けに設計されています。

ハイライト

  • 高忠実度API: コードの移植や公式のOpenCVガイドの遵守を容易にするため、ネイティブのOpenCV C++ APIに密接に従っています。
  • クロスプラットフォーム対応: Windows (x64/ARM64)、Linux (x64/ARM64)、macOS (Intel/Apple Silicon)、およびWebAssemblyで動作します。
  • 柔軟なデプロイ: 「slim」(依存関係を削減)や「headless」(コンテナ化されたサービス向けにGUI依存関係なし)を含む、異なるランタイムプロファイルを提供します。
  • マネージドリソースの処理: アンセーフなリソースに対してIDisposableを実装し、連鎖的な操作中のメモリリークを防ぐために、算術演算には遅延評価される式ツリー(MatExpr)を使用しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト