安装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

智能推荐

机器学习模型评分总结(sklearn)_model.score-程序员宅基地

文章浏览阅读1.5w次,点赞10次,收藏129次。文章目录目录模型评估评价指标1.分类评价指标acc、recall、F1、混淆矩阵、分类综合报告1.准确率方式一:accuracy_score方式二:metrics2.召回率3.F1分数4.混淆矩阵5.分类报告6.kappa scoreROC1.ROC计算2.ROC曲线3.具体实例2.回归评价指标3.聚类评价指标1.Adjusted Rand index 调整兰德系数2.Mutual Informa..._model.score

Apache虚拟主机配置mod_jk_apache mod_jk 虚拟-程序员宅基地

文章浏览阅读344次。因工作需要,在Apache上使用,重新学习配置mod_jk1. 分别安装Apache和Tomcat:2. 编辑httpd-vhosts.conf: LoadModule jk_module modules/mod_jk.so #加载mod_jk模块 JkWorkersFile conf/workers.properties #添加worker信息 JkLogFil_apache mod_jk 虚拟

Android ConstraintLayout2.0 过度动画MotionLayout MotionScene3_android onoffsetchanged-程序员宅基地

文章浏览阅读335次。待老夫kotlin大成,扩展:MotionLayout 与 CoordinatorLayout,DrawerLayout,ViewPager 的 交互众所周知,MotionLayout 的 动画是有完成度的 即Progress ,他在0-1之间变化,一.CoordinatorLayout 与AppBarLayout 交互时,其实就是监听 offsetliner 这个 偏移量的变化 同样..._android onoffsetchanged

【转】多核处理器的工作原理及优缺点_多核处理器怎么工作-程序员宅基地

文章浏览阅读8.3k次,点赞3次,收藏19次。【转】多核处理器的工作原理及优缺点《处理器关于多核概念与区别 多核处理器工作原理及优缺点》原文传送门  摘要:目前关于处理器的单核、双核和多核已经得到了普遍的运用,今天我们主要说说关于多核处理器的一些相关概念,它的工作与那里以及优缺点而展开的分析。1、多核处理器  多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总..._多核处理器怎么工作

个人小结---eclipse/myeclipse配置lombok_eclispe每次运行个新项目都需要重新配置lombok吗-程序员宅基地

文章浏览阅读306次。1. eclipse配置lombok 拷贝lombok.jar到eclipse.ini同级文件夹下,编辑eclipse.ini文件,添加: -javaagent:lombok.jar2. myeclipse配置lombok myeclipse像eclipse配置后,定义对象后,直接访问方法,可能会出现飘红的报错。 如果出现报错,可按照以下方式解决。 ..._eclispe每次运行个新项目都需要重新配置lombok吗

【最新实用版】Python批量将pdf文本提取并存储到txt文件中_python批量读取文字并批量保存-程序员宅基地

文章浏览阅读1.2w次,点赞31次,收藏126次。#注意:笔者在2021/11/11当天调试过这个代码是可用的,由于pdfminer版本的更新,网络上大多数的语法没有更新,我也是找了好久的文章才修正了我的代码,仅供学习参考。1、把pdf文件移动到本代码文件的同一个目录下,笔者是在pycharm里面运行的项目,下图中的x1文件夹存储了我需要转换成文本文件的所有pdf文件。然后要在此目录下创建一个存放转换后的txt文件的文件夹,如图中的txt文件夹。2、编写代码 (1)导入所需库# coding:utf-8import ..._python批量读取文字并批量保存

随便推点

Scala:访问修饰符、运算符和循环_scala ===运算符-程序员宅基地

文章浏览阅读1.4k次。http://blog.csdn.net/pipisorry/article/details/52902234Scala 访问修饰符Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。如果没有指定访问修饰符符,默认情况下,Scala对象的访问级别都是 public。Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层_scala ===运算符

MySQL导出ER图为图片或PDF_数据库怎么导出er图-程序员宅基地

文章浏览阅读2.6k次,点赞7次,收藏19次。ER图导出为PDF或图片格式_数据库怎么导出er图

oracle触发器修改同一张表,oracle触发器中对同一张表进行更新再查询时,需加自制事务...-程序员宅基地

文章浏览阅读655次。CREATE OR REPLACE TRIGGER Trg_ReimFactBEFORE UPDATEON BP_OrderFOR EACH ROWDECLAREPRAGMA AUTONOMOUS_TRANSACTION;--自制事务fc varchar2(255);BEGINIF ( :NEW.orderstate = 2AND :NEW.TransState = 1 ) THENBEG..._oracle触发器更新同一张表

debounce与throttle区别及其应用场景_throttle和debounce应用在哪些场景-程序员宅基地

文章浏览阅读513次。目录概念debouncethrottle实现debouncethrottle应用场景debouncethrottle场景举例debouncethrottle概念debounce字面理解是“防抖”,何谓“防抖”,就是连续操作结束后再执行,以网页滚动为例,debounce要等到用户停止滚动后才执行,将连续多次执行合并为一次执行。throttle字面理解是“节流”,何谓“节流”,就是确保一段时..._throttle和debounce应用在哪些场景

java操作mongdb【超详细】_java 操作mongodb-程序员宅基地

文章浏览阅读526次。regex() $regex 正则表达式用于模式匹配,基本上是用于文档中的发现字符串 (下面有例子)注意:若未加 @Field("名称") ,则识别mongdb集合中的key名为实体类属性名。也可以对数组进行索引,如果被索引的列是数组时,MongoDB会索引这个数组中的每一个元素。也可以对整个Document进行索引,排序是预定义的按插入BSON数据的先后升序排列。save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。_java 操作mongodb

github push 推送代码失败. 使用ssh rsa key. remote: Support for password authentication was removed._git push remote: support for password authenticati-程序员宅基地

文章浏览阅读1k次。今天push代码到github仓库时出现这个报错TACKCHEN-MB0:tc-image tackchen$ git pushremote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.remote: Please see https://github.blog/2020-12-15-token-authentication_git push remote: support for password authentication was removed on august 1