安装gocv 比较正确的姿势 (TDM-GCC + opencv 4.5.2 + gocv)_gocv 使用教程-程序员宅基地

技术标签: mingw  go  gocv  opencv  

0.前言

目前主要用java 工作用到go和gocv 遇到些坑 记录一下比较合理的解决方法

找了好几个链接 似乎不能很好的解决安装和编译的问题 总结出自己的解决方法

有不正确或者有疑问的地方可以下方评论留言 建议花几分钟从头看到尾 最后有个总结 可以看看

1.先看结果

编译成功看结果

我用的是goland ,如果编译成功可以看看结果,

找到依赖(可以在资源管理器打开也行) 后右键控制台打开 , 然后执行 ,可能第一次需要等一会 比较慢

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

编译的文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.操作过程

安装和配置环境变量

安装mingw或者tdm-gcc 和 cmake

看看环境变量配置好了没 没有配置手动加上也行

(我的配置不等于你的配置 请选择你自己安装mingw tdm-gcc cmake的路径)

如果有安装过python 可以不卸载 不删除环境变量 没问题的(最后总结有解释)

在这里插入图片描述

解压路径

解压成这样

(下载链接github搜索找对应版本就行)

在这里插入图片描述

在这里插入图片描述

build里面东西我全删了 重新编译一次

cmd命令打开这个目录 先放一边

在这里插入图片描述

在这里插入图片描述

可能你之前自己试过其他方法来编译opencv 这里可能会有个.cache文件夹 建议删掉

(opencv_contrib-4.5.2 没有变过 不用管他 当然你全两个删掉重新解压最好)

在这里插入图片描述

开始编译

回到goland 双击打开

\gocv.io\x\[email protected]\win_build_opencv.cmd

找到这行

在这里插入图片描述

整行复制出来 丢刚才的cmd窗口 然后回车 等他跑完(大概1-3分钟)

在这里插入图片描述

在这里插入图片描述

然后按顺序运行这两行 等他跑完 至于最后三行 可以不管 就是把之前解压的两个文件夹删掉 然后跳到文件夹

编译时候跳红色就是编译出问题了 检查下网络吧

(挺久的 大概要5-10分钟,完全有理由相信 go是在c++编译的时候写的 XD )

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到这一步基本完成了 如果没加环境变量可以加上 上面我提前加好了的 这里不加了

C:\opencv\build\install\x64\mingw\bin

3.引用和参考

https://zhuanlan.zhihu.com/p/87934563

https://blog.csdn.net/qq_29191321/article/details/88699933

https://github.com/hybridgroup/gocv

4.总结和注意点

为什么能编译成功

只是跟着gocv的安装命令 手动一行行操作罢了 就这么简单

为什么用tdm-gcc 用mingw行吗

因为我喜欢用这个 我的版本是9.2.0 最新版(10.3.0-2)还没试过
当然你也可以选择mingw 官方就是使用mingw的 应该问题不大

没看到用cmake编译

用了的 只是没用gui 用gocv写好的命令 用gui我没看到哪里能加参数(是那个add Entry? 我也不想一个个加啊 这么多) 命令行方式加参数了 过滤了一些不要编译的东西和一些设置 大部分就是你用gui 点config时候报红的那些 我不知道哪些会报红或者编译时候会异常 所以用写好的最好 如果还是不行 那我也没办法

在这里插入图片描述

装了新版opencv但是运行panic? (比如4.5.3)

不能 我试了 要和gocv版本一致 我装4.5.3成功但是运行时候panic找不到4.5.2相关版本的库
截图就不发了

5.如果文章帮助到你 欢迎评论和捐赠

在这里插入图片描述

在这里插入图片描述

是运行时候panic找不到4.5.2相关版本的库 截图就不发了




# 5.如果文章帮助到你 欢迎评论和捐赠

[外链图片转存中...(img-gmhrSpOS-1626581400975)]



[外链图片转存中...(img-d6zN933e-1626581400976)]





















版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37708237/article/details/118875568

智能推荐

物联网-物联网智能数据处理技术_物联网数据处理技术-程序员宅基地

文章浏览阅读1.9w次,点赞6次,收藏39次。物联网数据处理技术的基本概念物联网数据的特点海量 动态 多态 关联从无线传感器网络TinyDB数据库结构中可以清晰地看到物联网数据“海量、动态、多态、关联”的特点物联网中的数据、信息与知识物联网数据处理关键技术数据存储 数据融合 数据挖掘 智能决策物联网与云计算云计算产生的背景云计算的分类IaaS—基础设施即服务,只涉及到租用硬件,是一种..._物联网数据处理技术

win10找不到打印机_Win10系统如何连接和找寻打印机?-程序员宅基地

文章浏览阅读4.8k次。很多朋友改完win10系统就找不到打印机设备,无法设置默认打印机,今天来解析这个问题!01进入设置界面通常,对于已经启动了并连接到了网络的打印机,会很容易被系统识别到,只不过需要确保打印机和电脑是连接的同一个网络。点击开始菜单,进入设置界面。选择设备。02添加打印机和扫描仪选择打印机和扫描仪,点击添加打印机或扫描仪。系统将会自动搜索识别,并将搜索到的设备罗列出来。接着,找到并点击您想要添加的打印机..._w10打印机在哪里找

【存储缓存】bcache原理及实践-程序员宅基地

文章浏览阅读9.1k次,点赞5次,收藏29次。bcache是linux内核块设备层的cache。主要是使用SSD盘在IO速度较慢的HDD盘上面做一层缓存,从而来提高HDD盘的IO速率。一个缓存设备(SSD)可以同时为多个后端设备(HDD)提供缓存。既然是缓存,那自然就会想到缓存策略,bcache支持三种缓存策略....................._bcache

linux amixer原理,amixer和alsamixer使用说明-程序员宅基地

文章浏览阅读658次。amixer和alsamixer使用说明amixer和alsamixer使用说明amixer和alsamixer说明本文主要解答:1. amixer与alsamixer的区别2. amixer与alsamixer的使用alsamixer与amixer的区别alsamixer是Linux音频框架ALSA工具之一,用于配置音频各个参数;alsamixer是基于文本图形界面的,可以在终端中显示.通过键盘..._amixer

web搭建,dns服务器搭建_dns和web服务器搭建-程序员宅基地

文章浏览阅读2.2k次,点赞3次,收藏15次。安装Web服务1、www(万维网服务),主要应用于搭建web站点2、中间件,是用承载我们的Web站点,那么什么是中间件(如,iis、apache、nginx、tomcat、jboss等),Web网站没有中间件是不能运行。3、如何安装windows IIS服务器管理器–角色–添加–web服务器–4、web站点的访问方式有三种(1)通过ip访问,一般是有多个公网地址,可以每一个站点分配一个ip(这种情况用的极少)原因:Ip很难记,公网地址需要收费(2)多端口访问,web站点默认是80端口,80_dns和web服务器搭建

Java时间处理工具类TimeUtils_java 时间工具类-程序员宅基地

文章浏览阅读2.5k次,点赞2次,收藏5次。以上方法笔者觉得没有必要再封装进工具类了,直接调用就行而其他的处理可以参考笔者的时间处理工具类 TimeUtils 的以下方法时间格式转化:转化成时间戳:转化成 LocalDateTimeformat():转化成格式化日期字符串时间获取:获取当前时间戳(精确到毫秒):获取当前的年(仅数值):获取当前的月(仅数值):获取当前的日(仅数值):获取当前的年(格式为 yyyy 的字符串):获取当前的年月(格式为 yyyy-MM 的字符串)_java 时间工具类

随便推点

Andorid源码编译需要掌握的shell语法(三)_android shell脚本语法 :>-程序员宅基地

文章浏览阅读1.2k次。Android 源码编译文件中语法记录_android shell脚本语法 :>

Linux V4L2子系统分析(一)_v4l2_subdev_call-程序员宅基地

文章浏览阅读4.2k次,点赞12次,收藏72次。1.概述Linux系统上的Video设备多种多样,如通过Camera Host控制器接口连接的摄像头,通过USB总线连接的摄像头等。为了兼容更多的硬件,Linux内核抽象了V4L2(Video for Linux Two)子系统。V4L2子系统是Linux内核中关于Video(视频)设备的API接口,是V4L(Video for Linux)子系统的升级版本。V4L2子系统向上为虚拟文件系统提供了统一的接口,应用程序可通过虚拟文件系统访问Video设备。V4L2子系统向下给Video设备提供接口,同时管理_v4l2_subdev_call

服务器基础配置:浪潮服务器配置ILO地址、修改管理员密码、查看虚拟化是否打开:_浪潮服务器修改管理口密码-程序员宅基地

文章浏览阅读1w次。使用场景:因为在公司机房中的服务器我们在使用需要对他做一些类似于初始化的配置,分别是三个,——》第一个是配置服务器的ILO地址,这个是我们通过网络打开一个Web页面对服务器进行一些操作;——》第二个是对管理用户的密码进行修改,这个是因为不同的服务器初始的管理员的密码也许是不一样的,我们将其修改为统一的方便记忆也方便管理;——》第三个就是开启服务器的半虚拟化功能,这个是我们的公司的也许需要服..._浪潮服务器修改管理口密码

php如果字符串有1 3 5,PHP常用字符串函数小结-程序员宅基地

文章浏览阅读87次。PHP常用字符串函数小结来源:程序员人生 发布时间:2015-01-22 09:02:32 阅读次数:1594次1、判断类型的函数is_bool() //判断是不是为布尔型is_float() //判断是不是为浮点型is_real() //同上is_int() //判断是不是为整型is_integer() //同上is_string() ..._php 字符串1-5位

matlab从flove,Matlab玩出新高度,变身表白女友神器_善良995的博客-程序员宅基地-程序员宅基地

文章浏览阅读431次。原文作者:善良995原文标题:Matlab玩出新高度,变身表白女友神器发布时间:2021-03-19 13:36:02Matlab还可以这样玩儿?每逢节日愁哭程序员,不知道该送什么给女朋友,在这里教你用Matlab玩儿出属于程序员的浪漫,送给她一整天的惊喜^^一、效果图先来看看效果图:怎么样,这礼物是不是很用心?是不是很特别?是不是很程序猿?(斜眼笑~)二、完整模板代码当然,我怎么忍心让好男孩们千..._clc clear [x,y,z] = meshgrid(linspace(-3,3,101)); f = -x.^2.*z.^3-(9/80)

字符数组和字符串指针在内存中存储_使用字符串指针定义的变量储存在内存中的-程序员宅基地

文章浏览阅读5.5k次,点赞2次,收藏4次。#include#includechar* strcpy1(){ char *p = "hello kitty"; printf("%s\n", p); return p;}int main(){ printf("%s", strcpy1()); return 0;}字符串在内存中存储在只读数据段,当定义一个字符串指针时,该指针指向这个只读区域,即使在函数中将这个指针返回_使用字符串指针定义的变量储存在内存中的