gocv Windows10下编译和安装(opencv4.7)

news2024/10/6 16:16:56

opencv居然还没有官方的golang版,出乎意料。为了编译安装这玩意,折腾了一下午,记录下:

资源提前下载

1、 MinGW-w64
这里的坑是对于只懂一点点的人,容易选错版本:
在这里插入图片描述
没仔细看的人很可能会选win32的(我就是),因为下意识认为Windows下选择这个版本!!

2、cmake选择系统对应版本就好

3、opencv源码官网给的脚本里地址是github上的,我这里是在gitcode上找的同步更新的源代码。这里需要提前下好,不然用脚本的话,一下午都下不好。

4、opencv_contrib同上,找的镜像,在国内下载会快很多

此外,编译过程中还会需要下载一些东西,那些不好找,而且很可能下载失败,建议修改host:“C:\Windows\System32\drivers\etc\hosts” ,在末尾加上一行:

151.101.8.133 raw.githubusercontent.com

该操作杀毒软件会拦截,等编译完再删掉它。当然,加了也不一定就能顺利下载,反正我倒是下载下来了,也不知道是运气好,还是这玩意生效了。

安装 gocv

这里还需要提前安装gocv,因为以来它的脚本来编译。

go get -u -d gocv.io/x/gocv

下载完的保存路径是:

%GOPATH%\pkg\mod\gocv.io\x\gocv@v0.33.0
%GOPATH% 可用以下指令查看:
go env

到该目录下, 可以看到一个脚本“win_build_opencv.cmd”
这个脚本不能直接用,这里就是官方文档没有讲到的坑了

添加环境变量

在这里插入图片描述
对,看图就知道:
1、在C盘下新建目录“C:\opencv”
2、将第一步下载的opencv源码和opencv_contrib解压到该目录下
3、mingw64解压到该目录下(也可到其他目录,只需添加对应的环境变量即可),并且给C:\opencv\mingw64\bin添加到环境变量中
4、cmake一直下一步安装。正常安装的话,是会自动添加环境变量的,不需要手动添加。

然后对应的目录如下图所示
在这里插入图片描述

修改脚本

此时进入目录C:\Users\PC\go\pkg\mod\gocv.io\x\gocv@v0.33.0,打开文件“win_build_opencv.cmd”,改脚本不能直接运行,需要修改内容成如下:

set PATH=%PATH%

set enable_shared=ON

cmake C:\opencv\opencv-4.7.0 -G "MinGW Makefiles" -BC:\opencv\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.7.0\modules -DBUILD_SHARED_LIBS=%enable_shared% -DWITH_IPP=OFF -DWITH_MSMF=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=ON -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_wechat_qrcode=ON -DCPU_DISPATCH= -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_OPENCL_D3D11_NV=OFF -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int64_t -Wno-dev
mingw32-make -j%NUMBER_OF_PROCESSORS%
mingw32-make install
chdir /D %GOPATH%\pkg\mod\gocv.io\x\gocv@v0.33.0

对,删去了绝大部分,因为这个脚本不过是调用cmake去编译而已,它本身不是编译脚本。

开始编译

打开CMD,执行命令:

CD C:\Users\PC\go\pkg\mod\gocv.io\x\gocv@v0.33.0
win_build_opencv.cmd

然后就是漫长的等待,大概需要一个小时,注意电脑别待机。
如果构建过程中报错,会有提示,否则应该是没啥“ERR”字眼的。

然后还有一部重要的,将“C:\opencv\build\install\x64\mingw\bin”添加到环境变量,然后需要重启CMD。

验证

cd C:\Users\PC\go\pkg\mod\gocv.io\x\gocv@v0.33.0\cmd\version
go run main.go

在这里插入图片描述

官网地址:https://github.com/hybridgroup/gocv

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/664032.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【EDA软件互转】PADS转Allegro

1. 使用pads软件打开PCB文件,然后执行菜单命令:File->Export->弹出的对话框中点击“保存”。然后按下图设置后点击“OK”按钮,会在当前目录下生成一个前面保存的asc文件;如果点击OK后有弹出其它提示就点击“确定”就好…

在编写测试报告的时候,我们有哪些点需要注意的呢?

测试报告作为测试人员的核心输出项,是体现自己工作价值的重要承载工具,需要我们认真对待,所以我们要重视测试报告的输出,那么在编写测试报告的时候,我们有哪些点需要注意的呢? 1、不要乱用模板 很多测试新…

CTR预估之WideDeep系列(下):NFM/xDeepFM

在上一篇文章中CTR预估之Wide&Deep系列模型:DeepFM/DCN,学习了Wide & Deep这种通用框架:wide组件的线性模型的显性低阶特征交叉提供记忆能力,deep组件的深度网络模型的隐式高阶特征交叉提供泛化能力,还有DeepFM和Deep&…

蓝桥杯刷题篇①

前言:hello各位童学们好呀!许久不见!本文为本人的蓝桥杯OJ的刷题笔记!文章隶属于专栏蓝桥杯,该专栏的目的是为了记录自己的刷题记录和学习过程,激励自己不断前行,为明年的ACM、ICPC、蓝桥杯等比…

CVPR2023最佳论文提名(12篇)

CVPR2023公布了12篇最佳论文候选文章。(直接点击标题可以查看原文~) Ego-Body Pose Estimation via Ego-Head Pose Estimation 单位:Stanford-----------关键词:姿态估计 3D Registration With Maximal Cliques 单位&…

三层交换机与路由互联配置(华为设备)

#三层交换机与路由器配置配置 #三层交换机与路由器配置配置 路由器配置 #进入系统视图 <Huawei>system-view #关闭系统提示信息 [Huawei]undo info-center enable #配置一个环回口 [Huawei]int LoopBack 0 #配置IP地址 与 掩码 [Huawei-LoopBack0]ip address 1.1.…

基于matlab使用自定义辐射方向图进行天线阵列分析(附源码)

一、前言 此示例演示如何使用自定义天线辐射方向图创建天线阵列&#xff0c;然后如何分析阵列的响应方向图。这种模式可以通过测量或模拟获得。 二、导入辐射图 根据应用的不同&#xff0c;实用的相控天线阵列有时会使用专门设计的天线元件&#xff0c;其辐射方向图无法用闭式方…

Java018——Java方法

什么是方法&#xff1f; 方法的作用&#xff1f; 方法的定义 方法的使用 一、什么是方法&#xff1f; Java方法是语句的集合 二、方法的作用&#xff1f; 它们&#xff08;语句&#xff09;在一起执行一个功能。 三、方法的定义 格式&#xff1a; 修饰符 返回值类型 方法名…

PostgreSQL(九)内置系统视图

目录 一、系统视图二、 pg_stat_activity 视图1.简介2.核心字段3.全部字段 一、系统视图 PGSQL 中提供了一系列内置的视图&#xff0c;包括系统视图和其他视图。 系统视图提供了查询系统表的一些便利的访问方法。其他视图提供了访问内部服务器状态的方法。 官方文档&#xf…

Spring Boot是什么?详解它的优缺点以及四大核心

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、Spring Boot 是什么&#xff1f; 二、Spring Boot 的优缺点 1、优点 ①可快速构建独立的 Spring 应用 ②直接嵌入Tomcat、Jett…

【Python GUI编程系列 01】安装python pycharm 和 pyside6

Python GUI编程系列 01 安装python pycharm 和 pyside61、安装python2、安装pycharm3、安装 pyside6 安装python pycharm 和 pyside6 本系列使用python3 pycharmpyside6 来进行python gui设计&#xff0c;首先我们来配置编程环境 PS&#xff1a;为了减少复杂程度&#xff0c;本…

学习HCIP的day.15

目录 三层架构 一、网络拓扑冗余 1、线路冗余 2、设备冗余 3、网关冗余 4、电源冗余 二、三和一&#xff08;网关、根网桥、SVI&#xff09; 三、管理vlan 四、三层交换机 五、网关冗余 六、名词注解&#xff1a; 七、数据交换方法&#xff1a; 1、原始交…

STM32开发——ADC(烟雾传感器)

目录 1.ADC简介 2.项目简介 3.CubeMX设置 4.函数代码 1.ADC简介 作用&#xff1a;用于读取电压值&#xff0c;然后转换为数字量传给单片机&#xff0c;单片机再通过计算&#xff0c;可以得到电压值。 ADC的性能指标 量程&#xff1a;能测量的电压范围分辨率&#xff1a;A…

简聊关于Flutter的争议~

关于Flutter的争议 Flutter是谷歌的推出的跨平台UI框架&#xff0c;可以快速在iOS和Android上构建高质量的原生用户界面&#xff0c;可以与现有的代码一起工作。在全世界&#xff0c;Flutter正在被越来越多的开发者和组织使用&#xff0c;并且Flutter是完全免费、开源的。这是…

机器学习课程报告——基于机器学习的自动人脸识别研究

摘 要 生物特征识别技术使用了人体本身所固有的生物特征&#xff0c;与传统的身份识别方法完全不同&#xff0c;具有更高的安全性、可靠性、和有效性&#xff0c;越来越受到人们的重视。人脸识别技术作为生物特征识别技术的重要组成部分&#xff0c;在近三十年里得到了广泛的关…

论文阅读:Dense Depth Priors for Neural Radiance Fields from Sparse Input Views

CVPR2022 Preliminary 首先我们由一组室内的RGB图像 { I i } i 0 N − 1 , I i ∈ [ 0 , 1 ] H W 3 \{I_i\}^{N-1}_{i0}, I_i \in [0,1]^{H \times W \times 3} {Ii​}i0N−1​,Ii​∈[0,1]HW3。通过SFM的方法&#xff0c;我们可以获得相机位姿 p i ∈ R 6 p_i \in \mathb…

QR点歌系统

一、点歌初始化 点歌初始化 A:$获取群列表$ a:0 b:$JSON 长度 A$ :标签 如果:%a%<%b% c:$JSON 获取 A %a%$ $写 点歌系统/音源 %c% Q音$ $写 点歌系统/格式 %c% json$ ‖ %a% ‖ %c% ‖ 初始化成功\n a:[%a%1] $jump :标签$ 如果尾这段代码是点歌系统的初始化过程。它通过…

7.pixi.js编写的塔防游戏(类似保卫萝卜)-plist的使用

游戏说明 一个用pixi.js编写的h5塔防游戏&#xff0c;可以用electron打包为exe&#xff0c;支持移动端&#xff0c;也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

NUCLEO-F411RE RT-Thread 体验 (2) - GCC环境 Pin 驱动的移植

NUCLEO-F411RE RT-Thread 体验 (2) - GCC环境 Pin 驱动的移植 1、准备工作 前面控制LED的函数&#xff0c;其实还是调用的hal的函数&#xff0c;RT-Thread分离了驱动层与应用层&#xff0c;驱动层往下对接hal库&#xff0c;往上对接pin组件。 驱动层代码路径如图&#xff1a;…

零基础速成simulink代码生成——stateflow基础3

零基础速成simulink代码生成——stateflow基础3 Stateflow 可以用于嵌入式系统的建模、仿真和代码生成。在嵌入式系统中,Stateflow 可以用于实现控制逻辑、状态机、事件驱动系统等功能。Stateflow 提供了一种图形化的建模语言,可以用于描述状态、转换、事件、动作等元素,并…