hybridgroup/gocv

Go package for computer vision using OpenCV 4 and beyond. Includes support for DNN, CUDA, OpenCV Contrib, and OpenVINO.

What it solves

GoCV は OpenCV 4 用の Go 言語バインディングを提供し、開発者が Go エコシステム内で強力なコンピュータビジョンライブラリを利用できるようにします。これにより、古いまたは停滞したバインディングが新しい OpenCV バージョンに対応できない問題を解決し、Go プログラマが最新のコンピュータビジョンアルゴリズムとハードウェアアクセラレーションにアクセスできるようになります。

How it works

このプロジェクトは OpenCV 4 の C++ クラスをラップする C スタイルのラッパーを使用しています。このアプローチにより SWIG の複雑さを回避し、マッピングが元の OpenCV プロジェクト構造に密接に従うため、新機能の検索と実装が容易になります。

Who it’s for

顔検出、オブジェクトカウント、ビデオストリーミングなどのコンピュータビジョンタスクをアプリケーションに実装する必要がある Go 開発者向けです。

Highlights

  • Hardware Acceleration: Supports CUDA for Nvidia GPUs and Intel OpenVINO for optimized performance.
  • Cross-Platform: Compatible with Linux, Docker, macOS, and Windows.
  • Memory Profiling: Includes a custom Mat profiler to help developers detect and repair memory leaks caused by C-based image allocations.
  • Broad Functionality: Supports a wide range of utilities, including DNNs for face tracking and MJPEG streaming.