sonic 项目本身支持 opencv 图像识别库,但我在 mac 上调试却一直报错,最后在 mac 上也没有成功。没办法只能在 windows 上调试 opencv 代码了。
一、mac 上报错信息
在 mac 上一通瞎搞后 opencv 库我是装上了,也可以在 java 中写 opencv 的代码了。但 sonic 用的是 org.bytedeco.opencv ,不知道哪里配置有问题在 mac 上死活跑不起来。又加上之前也在一台 windows 配置了 opencv 所以抱着试一试在 windows 一配置就成功,成功后就不再想搞 mac 了,捣鼓了 3 天就它吧~~~
mac 上 错误信息如下。
如果有人想看 mac 上如何配置 opencv ,参见: javascript:void(0)
二、安装 opencv 库
首先要在windows上安装opencv库,参见 javascript:void(0) 中的 二、windows 安装 opencv
二、下载 javacv 库
1、访问 bytedeco 官网 http://bytedeco.org/
2、点击 javacv 打开 https://github.com/bytedeco/javacv
3、点击打开历史版本 https://github.com/bytedeco/javacv/releases
4、在历史版本中找到对应版本,sonic 这个版本用的是 1.53。点击下载 javacv-platform-1.5.3-bin.zip ,也可以直接点击 下载
5、下载成功后,解压缩 zip 文件到一个目录,我放到了 C:\Users\jubo\Desktop\javacv-platform-1.5.3-bin
三、运行项目
1、下载 sonic 源码,在 idea 中加载好,并 reload 好 pom.xml 文件
2、点击 Project Structure -> Libraries -> + java 如下图
2、 选择 C:\Users\jubo\Desktop\javacv-platform-1.5.3-bin 目录,并选中所有 jar 包后点击 ok
3、这样就会加载所有 javacv 库
4、配置 opencv dll 库
第一种方式:可以参考文档 javascript:void(0) 中的 “三、windows 创建java项目” 添加 Native Library Locations 库。配置好后如下图
第二种:直接将 opencv_java430.dll 复制到了 windows\system32 目录下,或者复制的 %JAVA_HOME%\lib 目录中。总之让他能找到 opencv 的 dll 库即可
5、 运行 agent 并调用一个图像比对脚本,可以看到现在不报错并正确执行了图像比对,只是我的原图跟对比图不一样所以匹配度为 0