gocv

gocv

Go语言的OpenCV绑定,支持CUDA和OpenVINO加速

GoCV提供了Go语言对OpenCV 4的绑定,支持最新版本的Go和OpenCV(v4.10.0),兼容Linux、macOS和Windows。它支持Nvidia GPU的CUDA加速和Intel OpenVINO工具包,适用于视频捕捉和人脸检测等计算机视觉任务。详细的安装指南和示例代码帮助用户快速入门,支持Docker开发并可定制安装环境。

GoCVOpenCV 4Go languageCUDAIntel OpenVINOGithub开源项目

GoCV 项目介绍

概述

GoCV 是一个为 OpenCV 计算机视觉库提供 Go 语言接口的项目。它支持最新版本的 Go 和 OpenCV(如 v4.10.0),并可在 Linux、macOS 和 Windows 平台上运行。GoCV 的目标是使 Go 语言在 OpenCV 生态系统中成为一流的客户端。

特性

硬件加速支持

GoCV 支持 Nvidia GPU 的 CUDA 硬件加速,使用这一特性可以显著提高处理速度。此外,还支持 Intel OpenVINO 工具包,更好地利用硬件资源从而提高运行效率。

视频捕获与处理

  • 视频捕获: GoCV 能够打开视频捕获设备,并通过一个 GUI 窗口展示视频。简单范例如“Hello, video”中的示例代码。

  • 人脸检测: GoCV 能够使用外部数据文件(如 haarcascade 文件)加载人脸检测分类器,以检测视频流中的人脸,并在检测到的人脸上绘制一个矩形。

示例代码

这里是一个简单的视频处理示例,它捕获视频流并在窗口中展示:

package main import ( "gocv.io/x/gocv" ) func main() { webcam, _ := gocv.OpenVideoCapture(0) window := gocv.NewWindow("Hello") img := gocv.NewMat() for { webcam.Read(&img) window.IMShow(img) window.WaitKey(1) } }

此外,人脸检测可通过以下代码实现:

package main import ( "fmt" "image/color" "gocv.io/x/gocv" ) func main() { deviceID := 0 webcam, err := gocv.OpenVideoCapture(deviceID) if err != nil { fmt.Println(err) return } defer webcam.Close() window := gocv.NewWindow("Face Detect") defer window.Close() img := gocv.NewMat() defer img.Close() blue := color.RGBA{0, 0, 255, 0} classifier := gocv.NewCascadeClassifier() defer classifier.Close() if !classifier.Load("data/haarcascade_frontalface_default.xml") { fmt.Println("Error reading cascade file") return } for { if ok := webcam.Read(&img); !ok { fmt.Printf("cannot read device %v\n", deviceID) return } if img.Empty() { continue } rects := classifier.DetectMultiScale(img) for _, r := range rects { gocv.Rectangle(&img, r, blue, 3) } window.IMShow(img) window.WaitKey(1) } }

安装方法

支持不同操作系统的安装方法,确保用户能够根据平台轻松搭建 GoCV 开发环境。

Ubuntu/Linux

可以使用 Makefile 快速安装 OpenCV 4.10.0:

cd 到你希望安装 GoCV 的目录 git clone https://github.com/hybridgroup/gocv.git cd gocv make install

macOS

使用 Homebrew 安装 OpenCV 4.10.0:

brew install opencv

Windows

通过下载并安装 MinGW-W64 和 CMake 进行安装,具体安装步骤包括设置环境变量。

Raspbian & Docker 以及更多支持

GoCV 还提供适用于 Raspberry Pi 和 Docker 的安装说明,确保用户在更多设备和应用场景下能顺利安装和使用。

如何验证安装

安装成功后,可以通过运行示例代码来验证。例如:

go run ./cmd/version/main.go

这将输出 GoCV 以及 OpenCV 的版本信息,以确认安装无误。

贡献方式

GoCV 鼓励开发者按照项目贡献指南参与贡献,参与项目未来的发展方向。完整解决如何使用和贡献的指南可在项目仓库找到。

总结来说,GoCV 是一个功能全面的开源项目,为 OpenCV 提供了强大的 Go 语言接口,易于安装和使用,并拥有广泛的跨平台支持。无论是个人实验还是大型项目,都能够集成并使用该工具进行各种计算机视觉任务。

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

热门AI工具AI办公办公工具智能排版AI生成PPT博思AIPPT海量精品模板AI创作
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

下拉加载更多