专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
opencv

gocv/opencv

gocv

GoCV是Go语言对OpenCV 4的绑定库,支持Linux、macOS、Windows平台,提供视频捕获、人脸检测、对象识别等计算机视觉功能,并支持CUDA和Intel OpenVINO硬件加速。

14 次收藏下载次数: 0状态:社区镜像维护者:gocv仓库类型:镜像最近更新:2 个月前
轩辕镜像,快一点,稳很多。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,快一点,稳很多。点击查看

GoCV

https://raw.githubusercontent.com/hybridgroup/gocv/release/images/gocvlogo.jpg]([***]

![Go Reference]([] ![CircleCI Build status]([] ![AppVeyor Build status]([***] https://goreportcard.com/badge/github.com/hybridgroup/gocv](https://goreportcard.com/report/github.com/hybridgroup/gocv)

镜像概述和主要用途

GoCV包提供Go语言对OpenCV 4计算机视觉库的绑定。该包支持最新版本的Go和OpenCV(v4.5.3),适用于Linux、macOS和Windows系统,旨在使Go语言成为与OpenCV生态系统最新发展兼容的“一等”客户端。

GoCV支持使用Nvidia GPU的CUDA硬件加速,详情参见CUDA README;同时支持Intel OpenVINO工具包,详情参见OpenVINO README。

核心功能和特性

  • OpenCV版本支持:兼容OpenCV 4.5.3,涵盖其主要计算机视觉功能
  • 多平台兼容:支持Linux(Ubuntu)、macOS、Windows和Raspbian系统
  • 硬件加速:
    • Nvidia CUDA加速,提升GPU计算性能
    • Intel OpenVINO工具包,优化深度学习推理
  • 丰富功能集:
    • 视频捕获与处理(摄像头、视频文件)
    • 图像操作(滤波、转换、特征提取)
    • 对象检测与识别(级联分类器、TensorFlow集成)
    • 视频流传输(MJPEG流)
    • 人脸检测与跟踪

使用场景和适用范围

  • 实时视频处理:摄像头监控、视频流分析
  • 计算机视觉应用开发:人脸检测、手势识别、物体计数
  • 深度学习集成:结合TensorFlow等框架实现图像分类
  • 嵌入式系统:Raspberry Pi等设备上的视觉应用部署
  • 科研与教育:计算机视觉算法原型验证

使用方法示例

Hello, video示例

以下示例打开设备“0”(通常为默认摄像头),读取视频帧并在GUI窗口显示:

go
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)
	}
}

人脸检测示例

!https://raw.githubusercontent.com/hybridgroup/gocv/release/images/face-detect.jpg

该示例打开摄像头,使用级联分类器检测人脸并绘制绿色矩形框:

go
package main

import (
	"fmt"
	"image/color"

	"gocv.io/x/gocv"
)

func main() {
    // 设置使用视频捕获设备0
    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("错误:无法读取分类器文件 data/haarcascade_frontalface_default.xml")
		return
	}

	fmt.Printf("开始读取摄像头设备: %v\n", deviceID)
	for {
		if ok := webcam.Read(&img); !ok {
			fmt.Printf("无法读取设备 %v\n", deviceID)
			return
		}
		if img.Empty() {
			continue
		}

		// 检测人脸
		rects := classifier.DetectMultiScale(img)
		fmt.Printf("发现 %d 个人脸\n", len(rects))

		// 在图像上绘制人脸矩形框
		for _, r := range rects {
			gocv.Rectangle(&img, r, blue, 3)
		}

		// 在窗口显示图像,等待1毫秒
		window.IMShow(img)
		window.WaitKey(1)
	}
}

更多示例

项目cmd目录提供多种实用命令行工具示例:

  • 图像捕获保存:从摄像头捕获并保存图像
  • MJPEG视频流:实现视频流传输
  • 物体计数:统计穿过指定线的物体数量
  • TensorFlow分类器:结合OpenCV与TensorFlow进行对象分类

安装说明

前置要求

安装GoCV前需先安装匹配版本的OpenCV(当前需OpenCV 4.5.3),以下是各系统安装指南。

Ubuntu/Linux

快速安装

  1. 克隆仓库:

    shell
    cd $HOME/folder/with/your/src/
    git clone https://github.com/hybridgroup/gocv.git
    cd gocv
    
  2. 使用Makefile安装OpenCV 4.5.3:

    shell
    make install
    

    如需静态库:

    shell
    make install BUILD_SHARED_LIBS=OFF
    
  3. 成功安装后将显示:

    gocv version: 0.28.0
    opencv lib version: 4.5.3
    

使用CUDA

参见cuda目录获取详细说明。

使用OpenCV+CUDA+OpenVINO

shell
cd $HOME/folder/with/gocv/
make install_all

如需静态库:

shell
make install_all BUILD_SHARED_LIBS=OFF

验证安装

shell
cd $HOME/src/gocv.io/x/gocv
go run ./cmd/version/main.go

应输出:

gocv version: 0.28.0
opencv lib version: 4.5.3

自定义环境变量

禁用pkg-config自动配置,手动设置CGO环境变量:

shell
export CGO_CPPFLAGS="-I/usr/local/include"
export CGO_LDFLAGS="-L/usr/local/lib -lopencv_core -lopencv_face -lopencv_videoio -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lopencv_objdetect -lopencv_features2d -lopencv_video -lopencv_dnn -lopencv_xfeatures2d"
go run -tags customenv ./cmd/version/main.go

macOS

  1. 安装Homebrew后执行:

    shell
    brew install opencv pkgconfig
    
  2. 验证安装:

    shell
    cd $HOME/folder/with/your/src/gocv
    go run ./cmd/version/main.go
    

Windows

  1. 安装MinGW-W64(选择posix线程和seh异常处理)和CMake
  2. 添加MinGW到系统PATH:C:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev2\mingw64\bin
  3. 执行安装脚本:
    cmd
    chdir %GOPATH%\src\gocv.io\x\gocv
    win_build_opencv.cmd
    
  4. 添加OpenCV到PATH:C:\opencv\build\install\x64\mingw\bin
  5. 验证安装:
    cmd
    go run cmd\version\main.go
    

Raspbian

shell
cd $HOME/folder/with/your/src/
git clone https://github.com/hybridgroup/gocv.git
cd gocv
make install_raspi

Docker部署

构建Docker镜像

项目提供Dockerfile,可通过Makefile快速构建:

shell
make docker

指定Go版本:

shell
make docker GOVERSION='1.15'

在macOS上运行GUI程序

  1. 安装依赖:

    shell
    brew cask install xquartz
    brew install socat
    

    安装后需注销并重新登录

  2. 配置XQuartz:

    • 打开XQuartz,在偏好设置→安全性中勾选“允许网络连接”
  3. 启动socat代理:

    shell
    socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
    
  4. 运行容器:

    shell
    docker run -it --rm -e DISPLAY=docker.for.mac.host.internal:0 your-gocv-app
    

    注意:Docker for Mac不支持摄像头设备,无法运行依赖摄像头的应用

内存管理与调试

GoCV的Mat对象需显式关闭以避免内存泄漏,可使用-tags matprofile构建标签启用内存分析:

shell
go run -tags matprofile cmd/version/main.go

通过gocv.MatProfile.Count()获取未释放Mat数量,或集成HTTP调试接口监控:

go
import _ "net/http/pprof"
// 启动HTTP服务后访问 http://localhost:6060/debug/pprof/gocv.io/x/gocv.Mat

贡献与许可

  • 贡献指南:参见CONTRIBUTING.md
  • 项目路线图:参见ROADMAP.md
  • 许可协议:Apache 2.0许可证,详情参见https://github.com/hybridgroup/gocv/blob/release/LICENSE.txt<|FCResponseEnd|>===SHORT_DESC=== GoCV是Go语言对OpenCV 4的绑定库,支持Linux、macOS、Windows平台,提供视频捕获、人脸检测、对象识别等计算机视觉功能,并支持CUDA和Intel OpenVINO硬件加速。

===FULL_DESC===# GoCV

https://raw.githubusercontent.com/hybridgroup/gocv/release/images/gocvlogo.jpg]([***]

![Go Reference]([] ![CircleCI Build status]([] ![AppVeyor Build status]([***] https://goreportcard.com/badge/github.com/hybridgroup/gocv](https://goreportcard.com/report/github.com/hybridgroup/gocv)

镜像概述和主要用途

GoCV包提供Go语言对OpenCV 4计算机视觉库的绑定。该包支持最新版本的Go和OpenCV(v4.5.3),适用于Linux、macOS和Windows系统,旨在使Go语言成为与OpenCV生态系统最新发展兼容的"一等"客户端。

GoCV支持使用Nvidia GPU的CUDA硬件加速,详情参见CUDA README;同时支持Intel OpenVINO工具包,详情参见OpenVINO README。

核心功能和特性

  • OpenCV版本支持:兼容OpenCV 4.5.3,涵盖其主要计算机视觉功能
  • 多平台兼容:支持Linux(Ubuntu)、macOS、Windows和Raspbian系统
  • 硬件加速:
    • Nvidia CUDA加速,提升GPU计算性能
    • Intel OpenVINO工具包,优化深度学习推理
  • 丰富功能集:
    • 视频捕获与处理(摄像头、视频文件)
    • 图像操作(滤波、转换、特征提取)
    • 对象检测与识别(级联分类器、TensorFlow集成)
    • 视频流传输(MJPEG流)
    • 人脸检测与跟踪

使用场景和适用范围

  • 实时视频处理:摄像头监控、视频流分析
  • 计算机视觉应用开发:人脸检测、手势识别、物体计数
  • 深度学习集成:结合TensorFlow等框架实现图像分类
  • 嵌入式系统:Raspberry Pi等设备上的视觉应用部署
  • 科研与教育:计算机视觉算法原型验证

使用方法示例

Hello, video示例

以下示例打开设备"0"(通常为默认摄像头),读取视频帧并在GUI窗口显示:

go
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)
	}
}

人脸检测示例

!https://raw.githubusercontent.com/hybridgroup/gocv/release/images/face-detect.jpg

该示例打开摄像头,使用级联分类器检测人脸并绘制绿色矩形框:

go
package main

import (
	"fmt"
	"image/color"

	"gocv.io/x/gocv"
)

func main() {
    // 设置使用视频捕获设备0
    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("错误:无法读取分类器文件 data/haarcascade_frontalface_default.xml")
		return
	}

	fmt.Printf("开始读取摄像头设备: %v\n", deviceID)
	for {
		if ok := webcam.Read(&img); !ok {
			fmt.Printf("无法读取设备 %v\n", deviceID)
			return
		}
		if img.Empty() {
			continue
		}

		// 检测人脸
		rects := classifier.DetectMultiScale(img)
		fmt.Printf("发现 %d 个人脸\n", len(rects))

		// 在图像上绘制人脸矩形框
		for _, r := range rects {
			gocv.Rectangle(&img, r, blue, 3)
		}

		// 在窗口显示图像,等待1毫秒
		window.IMShow(img)
		window.WaitKey(1)
	}
}

更多示例

项目cmd目录提供多种实用命令行工具示例:

  • 图像捕获保存:从摄像头捕获并保存图像
  • MJPEG视频流:实现视频流传输
  • 物体计数:统计穿过指定线的物体数量
  • TensorFlow分类器:结合OpenCV与TensorFlow进行对象分类

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 opencv 镜像标签

docker pull docker.xuanyuan.run/gocv/opencv:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull gocv/opencv:<标签>

更多 opencv 镜像推荐

demisto/opencv logo

demisto/opencv

demisto
暂无描述
10万+ 次下载
2 个月前更新
alpine/opencv logo

alpine/opencv

Alpine 工具与轻量镜像
暂无描述
7.8千+ 次下载
5 年前更新
codesignal/opencv logo

codesignal/opencv

codesignal
OpenCV的用户代码执行环境,基于C++镜像构建。
1 次收藏1万+ 次下载
1 年前更新
dustynv/opencv logo

dustynv/opencv

dustynv
OpenCV Docker镜像,为Jetson平台(L4T系统)提供带CUDA加速的计算机视觉库,支持4.5.0、4.8.1、4.9.0等版本,依赖CUDA、cuDNN等组件,是AI模型部署和视觉应用开发的基础依赖。
5.1千+ 次下载
1 年前更新
haminawireless/opencv logo

haminawireless/opencv

haminawireless
暂无描述
1万+ 次下载
6 天前更新

查看更多 opencv 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
gocv/opencv
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.