OpenCV与JAVA(MyEclipse)集成开发环境搭建
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OpenCV与MyEclipse 集成开发环境搭建
一、下载OpenCV库
官网下载OpenCV Win pack,下载地址:https:///opencv-3-4-1.html,下载得到的文件为opencv-3.4.1-vc14_vc15.exe,解压到指定目录OpenCV。
二、OpenCV与MyEclipse的集成
2.1 OpenCV集成到JA V A项目
(1)启动Myeclipse,新建JA V A项目,在JA V A项目中新建一个目录lib,用于存储第三方包。(2)集成OpenCV到JA V A项目,从解压目录进入build\java目录,如下图所示:
将opencv-341.jar文件拷贝到JA V A项目新建的目录中(lib)
(3)将x64或x86目录中的文件opencv_java341.dll复制到项目使用的JDK\bin目录中。
(4)在opencv-341.jar上右击,弹出菜单,选择Build path->Add to Build path,如下图所示
(5)测试是否运行正常
在项目中新建一个运行类,在main方法中运行代码:
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("m = " + m.dump());
显示下列结果:
2.2 OpenCV集成到MyEclipse
(1)启动Myeclipse,单击工具栏上边的Window -> Preferences;
(2)在弹出的窗口左侧单击Java -> Build path -> User libraries,单击new按钮,在弹出的New User Library中输入已经安装好的OpenCV库(OpenCV-3.4.1),如下图所示。
(3)在右边的按钮中点击Add External JARs, 选择到所安装的OpenCV路径下的build/java/ opencv-341.jar文件,如下图所示。
(4)设置项目的native库,即opencv_java341.dll所在的路径, 选择新建的OpenCV库下的Native Library Location,然后单击Edit按钮,弹出如下对话框;在对话框中点击External Floder,选择opencv_java341.dll所在的路径(x64或x86),点击确定即可,如下图所示。
(5)OpenCV集成到JA V A项目
新建JA V A项目,在项目上右击,从弹出菜单从选择Build Path -> Configure Build Path。在弹出窗口中,选择Libraries选项卡,点击Add Library, 在弹出窗口中选择User Library, 点击Next,选择刚刚配置好的OpenCV库,点击Finish。
(6)测试是否运行正常
在项目中新建一个运行类,在main方法中运行代码:
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("m = " + m.dump());
显示下列结果:
2.3 OpenCV集成到Web项目
(1)启动Myeclipse,新建Web项目,从OpenCV解压目录进入build\java目录,如下图所示:
将opencv-341.jar文件拷贝到Web项目的WebRoot/WEB-INF/lib中。
(2)在opencv-341.jar上右击,弹出菜单,选择Build path->Add to Build path,如下图所示
(3)将x64或x86目录中的文件opencv_java341.dll复制到项目使用的Tomcat\bin目录中。(4)测试是否运行正常
在项目中新建一个Servlet,加入下列代码,并在web.xml中配置Servlet,运行Tomcat测试:System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("m = " + m.dump());
显示下列结果:
三、常见问题
3.1 版本不匹配问题
(1)OpenCV版本与JDK版本的冲突
1. OpenCV-3.4.1对应JDK 1.8以上,可能会出现:Can't load AMD 64-bit .dll on a IA 32-bit platform错误。
2. JDK的位数与OpenCV-
3.
4.1的位数不匹配,可能会出现:org/opencv/core/Core : Unsupported major.minor version 52.0 at…
3.2 使用中的常见错误
在使用OpenCV函数之前,要加上System.loadLibrary(Core.NA TIVE_LIBRARY_NAME)语句,否则可能会出现:
org.opencv.imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)…错误。