hybridgroup/gocv

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

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 49 minutes ago
Added to GitGenius on September 8th, 2026
Created on September 18th, 2017
Open Issues & Pull Requests: 356 (+0)
GitHub issues: Enabled
Number of forks: 901
Total Stargazers: 7,495 (+0)
Total Subscribers: 149 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

GoCV is a Go package that provides bindings for OpenCV 4 computer vision operations.

The package solves the problem of using OpenCV's computer vision capabilities from Go applications. It wraps OpenCV's C++ API into Go-friendly interfaces, allowing developers to perform image processing, video capture, object detection, and face tracking without leaving the Go ecosystem. The bindings support the latest OpenCV releases and maintain compatibility across Linux, macOS, Windows, and Docker environments.

Developers should choose GoCV if they need computer vision functionality in a Go application and want to leverage OpenCV's mature algorithms and models. The tool suits projects involving video processing, real-time object detection, face recognition, and image analysis. The package includes specialized support for hardware acceleration through CUDA on Nvidia GPUs and integration with Intel OpenVINO for optimized inference. Example utilities in the repository demonstrate common patterns like MJPEG streaming, object counting, and DNN-based face detection.

The project maintains active support for current Go and OpenCV versions. Development includes regular updates to track OpenCV releases and platform support across multiple operating systems. The codebase includes a Mat profiler tool to help developers identify memory leaks, addressing a key challenge in Go-to-C interoperability where the garbage collector cannot automatically manage resources allocated through C code.