惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

牧尘的NAS小站

大模型到底在干嘛 Claude 内部提示词手册公开(精选10条) AI现阶段常见新词汇出现背景(二) AI现阶段常见新词汇出现背景(一) CookLikeHOC:用老乡鸡的方式烹饪美味,轻松上手的JavaScript项目! SQLBot:问数新纪元的智能助手 🚀 什么是NAT?NAS远程访问绕不开的网络魔法 向量数据库介绍 MySQL慢SQL处理 NAS使用SnappyMail搭建个人WebMail 使用VirtualBox虚拟机安装群晖7.1系统 网络文件夹目前是以其他用户名和密码进行映射的 Nastool中IYUU插件修复 linux文件的特殊权限 linux文件的隐藏属性 个人下载记录 个人Docker镜像记录 Hexo配合Jenkins自动部署博客 Hexo博客放到OSS并自动更新 使用Hexo搭建个人博客 NAS使用timymediamanager刮削海报 群晖DSM降级指南 ls、cp、rm、mv命令详解
Windows 下 OpenCV 编译与 GoCV 安装实战
2025-11-13 · via 牧尘的NAS小站

发表于|更新于|Java

|字数总计:724|阅读时长:2分钟|阅读量:

概述

在 Windows 平台上,如果你想从源码编译 OpenCV 并在 Go 语言中通过 GoCV 使用它,这篇文章会带你一步步完成:准备工具、编译 OpenCV、安装 GoCV 到运行验证,流程亲测可用,并附常见坑与排错建议。

一、准备工具:安装 MinGW 与 CMake

在正式编译之前,需要准备两个工具:

  • MinGW‑w64(GCC 编译器)
  • CMake(生成构建系统)

在命令提示符中创建目录:

1
2
3
c:
md mingw64
md cmake

下载并解压:

  • MinGW‑w64:选择 “GCC-8.1.0” 的 “x86_64-posix-seh” 版本,解压到 C:\mingw64
  • CMake:下载 “Windows x64 ZIP” 版本,解压到 C:\cmake

将以下路径加入系统 PATH,并重启命令行:

1
setx PATH "%PATH%;C:\mingw64\bin;C:\cmake\bin"

验证安装:

1
2
gcc --version
cmake --version

如果看到 “gcc version 8.1.0 …” 与 “cmake version …” 输出即成功。

提醒:务必确认 MinGW 带有 “8.1 / posix / seh”,否则可能导致编译失败。

二、编译安装 OpenCV(含 opencv_contrib)

步骤:

  1. 下载源码包:

    • OpenCV 主源码(例如 opencv-4.7.0.zip
    • OpenCV 扩展模块 opencv_contrib-4.7.0.zip
  2. 创建目录结构:

    1
    2
    3
    4
    5
    C:
    └─ opencv
    ├─ build
    ├─ opencv-4.7.0
    └─ opencv_contrib-4.7.0
  3. 配置构建(在 C:\opencv\build):

    1
    2
    3
    cmake C:\opencv\opencv-4.7.0 -G "MinGW Makefiles" -B C:\opencv\build ^
    -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.7.0\modules ^
    -DWITH_MSMF=OFF -DWITH_OBSENSOR=OFF

    说明:这里使用 MinGW Makefiles 生成方式。

  4. 编译(建议使用全部核心):

    1
    mingw32-make -j%NUMBER_OF_PROCESSORS%
  5. 安装:

    1
    mingw32-make install

    完成后,将安装目录下的 bin(例如 C:\opencv\build\bin)加入系统 PATH

常见检查项:

  • MinGW 版本是否为 “8.1 x86_64-posix-seh”
  • PATH 中是否包含 C:\mingw64\binC:\cmake\bin
  • 若之前编译失败,删除 build 目录后重试

三、Go 语言下的 GoCV 使用

  1. 获取 GoCV 源码:

    1
    go get -u -d gocv.io/x/gocv
  2. 确认 GOPATH

    1
    echo %GOPATH%
  3. 进入 GoCV 示例目录并运行版本测试:

    1
    2
    cd /D %GOPATH%\pkg\mod\gocv.io\x\gocv@v*\
    go run cmd\version\main.go

    若输出类似:

    1
    2
    gocv version: 0.33.0
    opencv lib version: 4.7.0

    则表示 GoCV 与 OpenCV 已成功集成。

四、常见问题与排错

  • 编译卡在某步或失败:检查 MinGW 版本与 PATH;清空 build 目录重试。
  • 运行时报找不到 DLL:确保 C:\opencv\build\bin 在系统 PATH 的前部位置。
  • Go 运行找不到包:确认 GOPATH 正确、Go 版本兼容,并使用 go env 检查环境。
  • MSMF/OBSENSOR 等可选组件:如未使用可关闭,减少外部依赖(文中已示例 -DWITH_MSMF=OFF -DWITH_OBSENSOR=OFF)。

五、快速总结表格

阶段 操作 关键点
安装 MinGW 与 CMake 下载并配置环境变量 MinGW 需为 8.1-posix-seh;添加 bin 到 PATH
编译 OpenCV 下载源码 + opencv_contrib → CMake → make → install 使用 MinGW Makefiles;失败时清理 build 重来
安装 GoCV go get -u -d gocv.io/x/gocv → 版本测试 确保 OpenCV bin 在 PATH,Go 环境正常
测试 go run cmd\version\main.go 输出 GoCV 与 OpenCV 版本即成功

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 牧尘的NAS小站

赞助

  • 微信

    微信


最新文章