OpenCV4Android开发之旅(二)----Eclipse调用OpenCV2.4.4的Java接口配置及示例

原创 2013年12月01日 22:15:38

上篇介绍的是,使用OpenCV4Android在Android APP开发中直接使用,现在介绍的是使用OpenCV的Java接口。自2.4.4版本之后,参考这里http://wiki.opencv.org.cn/index.php/Download,OpenCV发布一般发布四个平台的,分别是Windows、Linux/Mac、OpenCV4Android、IOS。上篇中介绍的是专属的OpenCV4Android。这次介绍的是使用Windows版本里提供的Java接口,究竟这种使用方法能否用到APP开发中还要进一步验证。

一、下载OpenCV2.4.4的Windows版本,http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.4.4/OpenCV-2.4.4.exe/download

二、将其安装到D:\ProgramFile\opencv目录。安装后整个文件夹大小为2.63G.


三、为了区别与Android开发,我们新建个工作空间Eclipse_Java,表示里面放纯Java工程。打开Eclipse切换到这个工作空间,然后点Window---Preference---Java--BuildPath---UserLibraries,起个名字OpenCV2.4.4-Java。然后点Add External JARs,找到目录D:\ProgramFile\opencv\build\java下的opencv-244,之后点下面的Native library location,设定目录为D:/ProgramFile/opencv/build/java/x86。



四、新建一个java项目Test1,建好后建一个主类TestOpenCV,然后选中项目按alt+enter,在Library选项里点右边的Add Library, 点User Library,然后选中刚建的那个OpenCV2.4.4-Java。




五、输入下面的测试代码:

package org.yanzi.testopencv;

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
import org.opencv.imgproc.Imgproc;


public class TestOpenCV {
	public static  void main(String[] args){
		
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
		
		Mat mat = new Mat();
		mat = Mat.eye(3, 3, CvType.CV_8UC1);
		System.out.print(mat.dump());		
		
		//第二个测试
		Mat src = Highgui.imread("G:\\kunlong.jpg");
		Highgui.imwrite("G:\\kunlong_src.jpg", src);		
		Mat grayMat = new Mat();
		grayMat.create(src.rows(), src.cols(), CvType.CV_8UC1);	
		Imgproc.cvtColor(src, grayMat, Imgproc.COLOR_RGB2GRAY);
		Highgui.imwrite("G:\\kunlong_gray.jpg", grayMat);
		System.out.print("一切OK!");
		
		
		
	
	}

}

第一个测试是官方给出的测试,新建一个矩阵,然后直接dump下打印出来。第二个测试是我加的,imread一个图片,然后保存下,再将其转成灰度图片,然后再保存。因为在Java里没有找到cvNamedWindow、imshow、cvShowImage之类的函数,只能用这个变通的方法来测试。注意是在2.4.4版本之后,在windows版本的OpenCV里才提供了Java接口。从2.3.1(或2.3.0)提供支持Android保本,直到OpenCV2.4.2开始提出OpenCV4Android这个概念,当然里面的东西也发生了变化。从OpenCV4Android开始之后,在Android里你必须要装那个OpenCVManager.apk,但是之前的从2.3.1到2.4.1版本,是不用装这个东西的。各位自己选择吧!2.4.2之后的Android上的OpenCV装了OpenCVManager.apk之后,自己开发的app大小确实变小了不少,之前你即便是用了其中的cvtColor函数,整个app要增加好几M。

另外,不知道为啥,使用Java的OpenCV不能够自动导包。而且在方法前面必须得加上他所属于的类,如imread光写这提示找不到方法,必须写Highgui.imread才可以了。另外,在C++里使用OpenCV的C++接口新建一个矩阵只需Mat mat = Mat(rowls, cols, CV_***)就行了,或者Mat mat, mat.create(),但在java里所有的变量你必须new一下才可以!!!!由于不能够自动导包,且必须加上方法所在的主类的名字,对不熟悉OpenCV的人增加了一定的难度,后续将提供相关接口的归纳和整理。参考:链接1


-------本文系原创,转载请注明作者yanzi1225627,欢迎大家加入OpenCV4Android开发联盟群:66320324,备注yanzi


eclipse下android开发opencv配置图文教程

呀,第一次写博客,处女作呀。 写文章之前呢谈两个哲学问题,思想比技术重要,思想高度决定技术层次。 1、  单纯出发,毫无理由的学技术,不因为挣钱,仅仅是好玩; 2、  偏执做技术,有灵感时可以连续工作...
  • roboman
  • roboman
  • 2015年01月19日 21:43
  • 2598

基于Eclipse平台的Android OpenCV开发环境搭建

基于Eclipse平台的Android OpenCV开发环境搭建 作者:雨水, 日期:2016-1-31,CSDN博客:http://blog.csdn.net/gobitan 摘要:本文主要记录...
  • gobitan
  • gobitan
  • 2016年02月02日 12:49
  • 2372

[OpenCV教程-1]通过Eclipse使用OpenCV

一、通过Eclipse使用OpenCV(Java)从2.4.4版本起OpenCV支持Java,本教程会讲解如何使用Eclipse做OpenCV Java开发在Windows/Linux下的环境搭建。因...
  • u014800380
  • u014800380
  • 2017年04月18日 15:58
  • 500

eclipse下用使用opencv用C++做图像处理

一、配置eclipse C++ 开发环境 1.1下载安装MinGW     1)、下载MinGW      点击打开链接     2)、安装  点击打开链接    特别注意:   先将C:\MinGW...
  • abcd112358
  • abcd112358
  • 2016年01月13日 19:23
  • 2257

eclipse中导入opencv

本文转载至:http://blog.csdn.net/hahawhyha/article/details/18402033 本文用的opencv3.0;配置步骤同下。 右击工程...
  • qq_31839751
  • qq_31839751
  • 2015年12月04日 21:54
  • 2439

图像处理之Canny边缘检测

带你一步一步剖析经典图像边缘检测算法Canny Edge Detection,从高斯模糊到 梯度计算、边缘幅值与角度计算、非最大信号压制、双阈值选取边缘、边缘连接到 结果输出,完整代码实现。...
  • jia20003
  • jia20003
  • 2014年11月16日 16:50
  • 36555

java实现双线性插值法与图像灰度值变换

java程序实现数字图像处理中的放缩和量化。使用双线性插值法,还有普通的量化策略。...
  • u012679980
  • u012679980
  • 2015年10月27日 16:00
  • 2732

数值算法与实现之JAVA插值算法

  • 2010年04月28日 10:03
  • 6KB
  • 下载

java版拉格朗日插值、牛顿插值、三次自然样条插值算法(可直接运行)

  • 2013年06月28日 17:14
  • 6KB
  • 下载

安卓使用ImageView显示OpenCV-Mat

Android 的Application—native调试暂时还只能进行主线程调试,在GDB里面,运行于子线程的OpenCv数据处理过程不能直接调试,OPenCV-Native函数 public...
  • wishchin
  • wishchin
  • 2015年07月30日 09:38
  • 2664
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenCV4Android开发之旅(二)----Eclipse调用OpenCV2.4.4的Java接口配置及示例
举报原因:
原因补充:

(最多只允许输入30个字)