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 语言接口,易于安装和使用,并拥有广泛的跨平台支持。无论是个人实验还是大型项目,都能够集成并使用该工具进行各种计算机视觉任务。

编辑推荐精选

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

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

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

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

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

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

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

潮际好麦

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

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

iTerms

iTerms

企业专属的AI法律顾问

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

下拉加载更多