本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

opencv Docker 镜像下载 - 轩辕镜像

opencv 镜像详细信息和使用指南

opencv 镜像标签列表和版本信息

opencv 镜像拉取命令和加速下载

opencv 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

opencv
gocv/opencv

opencv 镜像详细信息

opencv 镜像标签列表

opencv 镜像使用说明

opencv 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

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

opencv 镜像详细说明

opencv 使用指南

opencv 配置说明

opencv 官方文档

GoCV

![GoCV]([***]

![Go Reference]([] ![CircleCI Build status]([] ![AppVeyor Build status]([] ![Go Report Card]([] ![License]([***]

镜像概述和主要用途

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

人脸检测示例

!GoCV

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

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 [***]
    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 [***]
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许可证,详情参见LICENSE.txt<|FCResponseEnd|>===SHORT_DESC=== GoCV是Go语言对OpenCV 4的绑定库,支持Linux、macOS、Windows平台,提供视频捕获、人脸检测、对象识别等计算机视觉功能,并支持CUDA和Intel OpenVINO硬件加速。

===FULL_DESC===# GoCV

![GoCV]([***]

![Go Reference]([] ![CircleCI Build status]([] ![AppVeyor Build status]([] ![Go Report Card]([] ![License]([***]

镜像概述和主要用途

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

人脸检测示例

!GoCV

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

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进行对象分类

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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