
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://raw.githubusercontent.com/hybridgroup/gocv/release/images/gocvlogo.jpg]([***]

GoCV包提供Go语言对OpenCV 4计算机视觉库的绑定。该包支持最新版本的Go和OpenCV(v4.5.3),适用于Linux、macOS和Windows系统,旨在使Go语言成为与OpenCV生态系统最新发展兼容的“一等”客户端。
GoCV支持使用Nvidia GPU的CUDA硬件加速,详情参见CUDA README;同时支持Intel OpenVINO工具包,详情参见OpenVINO README。
以下示例打开设备“0”(通常为默认摄像头),读取视频帧并在GUI窗口显示:
gopackage 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
该示例打开摄像头,使用级联分类器检测人脸并绘制绿色矩形框:
gopackage 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目录提供多种实用命令行工具示例:
安装GoCV前需先安装匹配版本的OpenCV(当前需OpenCV 4.5.3),以下是各系统安装指南。
快速安装
克隆仓库:
shellcd $HOME/folder/with/your/src/ git clone https://github.com/hybridgroup/gocv.git cd gocv
使用Makefile安装OpenCV 4.5.3:
shellmake install
如需静态库:
shellmake install BUILD_SHARED_LIBS=OFF
成功安装后将显示:
gocv version: 0.28.0 opencv lib version: 4.5.3
使用CUDA
参见cuda目录获取详细说明。
使用OpenCV+CUDA+OpenVINO
shellcd $HOME/folder/with/gocv/ make install_all
如需静态库:
shellmake install_all BUILD_SHARED_LIBS=OFF
验证安装
shellcd $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环境变量:
shellexport 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
安装Homebrew后执行:
shellbrew install opencv pkgconfig
验证安装:
shellcd $HOME/folder/with/your/src/gocv go run ./cmd/version/main.go
C:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev2\mingw64\bincmdchdir %GOPATH%\src\gocv.io\x\gocv win_build_opencv.cmd
C:\opencv\build\install\x64\mingw\bincmdgo run cmd\version\main.go
shellcd $HOME/folder/with/your/src/ git clone https://github.com/hybridgroup/gocv.git cd gocv make install_raspi
项目提供Dockerfile,可通过Makefile快速构建:
shellmake docker
指定Go版本:
shellmake docker GOVERSION='1.15'
安装依赖:
shellbrew cask install xquartz brew install socat
安装后需注销并重新登录
配置XQuartz:
启动socat代理:
shellsocat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
运行容器:
shelldocker run -it --rm -e DISPLAY=docker.for.mac.host.internal:0 your-gocv-app
注意:Docker for Mac不支持摄像头设备,无法运行依赖摄像头的应用
GoCV的Mat对象需显式关闭以避免内存泄漏,可使用-tags matprofile构建标签启用内存分析:
shellgo run -tags matprofile cmd/version/main.go
通过gocv.MatProfile.Count()获取未释放Mat数量,或集成HTTP调试接口监控:
goimport _ "net/http/pprof" // 启动HTTP服务后访问 http://localhost:6060/debug/pprof/gocv.io/x/gocv.Mat
===FULL_DESC===# GoCV
https://raw.githubusercontent.com/hybridgroup/gocv/release/images/gocvlogo.jpg]([***]

GoCV包提供Go语言对OpenCV 4计算机视觉库的绑定。该包支持最新版本的Go和OpenCV(v4.5.3),适用于Linux、macOS和Windows系统,旨在使Go语言成为与OpenCV生态系统最新发展兼容的"一等"客户端。
GoCV支持使用Nvidia GPU的CUDA硬件加速,详情参见CUDA README;同时支持Intel OpenVINO工具包,详情参见OpenVINO README。
以下示例打开设备"0"(通常为默认摄像头),读取视频帧并在GUI窗口显示:
gopackage 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
该示例打开摄像头,使用级联分类器检测人脸并绘制绿色矩形框:
gopackage 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目录提供多种实用命令行工具示例:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。



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