mac下Tomcat运行openCV(Java)

上一篇博客介绍到java调用C++,其实当时目的是用java调用openCV,结果因为缺少了头文件还是咋地,无论如何都无法用命令行生成dylib文件。于是继续探索用java调用openCV的方法,遇到不少坑,现在和大家分享一下完整教程。

注意,开发环境是MacOS,IDEA编译器,Tomcat8,JDK1.8。

Step1.下载、安装Macports。

下载地址:https://www.macports.org/install.php

下载后得到pkg格式文件,双击安装。

Step2. 安装Xcode命令行(此玩意区别于终端)

xcode-select --install

Step3. 安装openCV+ java

sudo port selfupdate
sudo port install opencv +java

注意,+号前有空格,+号后无空格。

若中途出现错误如下:

Error: Failed to build db48: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_databases_db48/db48/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port opencv failed

则输入以下命令删除,再重新进行Step3至无任何错误

sudo port clean db48

Step4. 安装确认

port contents opencv | grep java

出现以下信息代表安装完成:

/opt/local/share/OpenCV/java/libopencv_java341.dylib
/opt/local/share/OpenCV/java/opencv-341.jar

Step5. Idea中添加依赖

mac下Tomcat运行openCV(Java)

注意,我的路径是/usr/local/Cellar/opencv....., 因为我情况特殊,Step4生成的jar包和链接库都在/usr/local/Cellar/opencv/3.4.1_2/share/OpenCV/java路径下,所以你们看着办就好,确保此路径同时有jar包和链接库

Step6. 配置VMOption

-Djava.library.path=/usr/local/Cellar/opencv/3.4.1_2/share/OpenCV/java

同样的,我的情况特殊所以路径可能和你们不一致,此处指定路径必须含有Step4生成的jar包和链接库文件

mac下Tomcat运行openCV(Java)

Step7. 大功告成,web项目也能正常调用openCV了!!

我的测试代码如下

mac下Tomcat运行openCV(Java)

 

最后,此博客参考作者【彼时芒种】的文章:https://www.jianshu.com/p/020c4ea0bfc4,感谢技术分享!