IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 在go中使用opencv -> 正文阅读

[人工智能]在go中使用opencv

在go中使用opencv还是比较麻烦的,如果使用的是 mac 或 linux 还好,在windows下就比较痛苦。

GoCV 包提供了对 opencv 4.5.4 的支持,官方提供了一键安装的脚本。

对于 linux 和 mac 系统,直接按官方的教程就可以了,不会遇到太多问题。官方安装指南在这:
https://gocv.io/getting-started/linux/
https://gocv.io/getting-started/macos/

对于 windows 步骤相对比较复杂,它通过 MinGW 来编译,首先要安装 MinGW 以及 CMake ,直接安 MSYS2 也可以,不过最好还是和 GoCV 官方用的一致,装MinGW 7.3.0,因为接下来可以看到它的编译脚本里已经把目录写死了😂,如果不一致要自己改一下会比较麻烦😂。官方安装指南在这:https://gocv.io/getting-started/windows/

大体上的步骤都可以按官方文档里写的来,如果出错一般是环境没有配好,最好把 MinGW 下的 mingw64\bin 目录加到 PATH 环境变量中。编译 opencv 时可以改一下 GOPATH 下 \src\gocv.io\x\gocv 里的 win_build_opencv.cmd 文件,因为GitHub网络不稳定时常会下载失败,可以把图中标出来的两句删除语句注释掉,以防一遍又一遍的下载文件又删掉。
在这里插入图片描述
在这里插入图片描述
编译出来的 opencv 是动态库。我试了改编译选项可以编译成静态库,但这样在 go 编译程序时会提示找不到opencv相关的库,具体我也没细究,因为着急用,就直接用的动态库版。

GoCV 这个包有个地方很尴尬,因为它链接的是动态库,所以如果要把自己写的程序打包给别人用,就必须把所有的opencv动态库都和我们写的程序放在一起,少一个都不能用😂😅。
在这里插入图片描述
在 go 里写 opencv 还是很舒服的,相对于 c++ go的语法写起来要灵活很多。

下面是一个读图显示图片的例子:

package main

import (
	"gocv.io/x/gocv"
)

func main() {
	img := gocv.IMRead("avatar.jpg", gocv.IMReadColor)
	window := gocv.NewWindow("Hello")

	window.IMShow(img)
	window.WaitKey(0)
}

运行后就会弹出一个窗口显示图片。

在这里插入图片描述

相对来讲,显示图片的函数(imshow)不像在 c++ 中到处都可以写,在GoCV中只能通过先定义一个 window 然后由window 调用 IMShow 显示图片。而且,window只能在主线程中开,如果开个协程来显示程序会直接挂掉。

除去这一点点不便,GoCV 用起来还是很爽的。


欢迎关注我的微信公众号 江达小记

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2022-02-27 10:59:45  更:2022-02-27 11:00:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:42:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码