Java中如何使用OpenCV。本来是要写一个简单的Base64编码程序,把一个图像文件利用Base64编码转换成一个txt文档;由于之前一直用C++做图像处理,所以对OpenCV各种恋恋不舍,再加上Java语言本身提供的像素操作实在是让我觉得不爽,所以想在Java中使用OpenCV。(备注:开发工具是Eclipse)
主要的参考资料为:
1 http://blog.csdn.net/haoba1987/article/details/8175390
2 http://code.google.com/p/javacv/
步骤总结如下:
1 在OpenCV官网上下载OpenCV-2.4.4,在http://code.google.com/p/javacv/downloads/list里下载
javacv-0.4-cppjars.zip,这里注意匹配问题,Javacv0.4可以支持OpenCV-2.4.4
2 安装OpenCV2.4.4,注意安装的路径中不要出现中文;添加系统环境变量PATH:
D:\OpenCV-2.4.4\opencv\build\x86\vc9\bin;
参考博客中使用的是OpenCV2.4.2,添加的还有什么tbb环境变量,在OpenCV2.4.4中压根就没有common文件夹,所以这一项可以忽略。
3 安装完成之后,可以在Visual Studio中测试OpenCV2.4.4是否好用;在这里注意项目包含文件和库文件的添加:(由于我的操作系统不是Win7的正式发布版,所以无法安装VS2010等以上版本,所以依旧在VS2008中进行测试)
工具->选项->项目和解决方案->VC++目录
包含文件:D:\OpenCV-2.4.4\opencv\build\include
D:\OpenCV-2.4.4\opencv\build\include\opencv
D:\OpenCV-2.4.4\opencv\build\include\opencv2
库文件: D:\OpenCV-2.4.4\opencv\build\x86\vc9\lib
4 OpenCV2.4.4测试成功安装完成之后,进入到Eclipse,新建Java Project,并在该工程目录下新建文件夹lib和libs\armeabi(这里我也不太清楚是为什么,按照参考博文来的,暂时好用就行~==!);然后把下载的
javacv-0.4-cppjars.zip解压,解压后的文件全部拷贝到libs文件夹下,并在Java工程目录下进行刷新,此步截图如下:
5 右击项目->Build Path->Configure Build Path->Libraries->Add JARS, 把libs文件夹下添加进去的jar文件全选,确定。
在该工程下写测试代码:
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
public class ImageProcessExample_2 {
public static void smooth(String filename){
IplImage image=cvLoadImage(filename);
if(image!=null){
cvSmooth(image,image,CV_GAUSSIAN,3);
cvSaveImage(“lina.jpg”,image);
cvReleaseImage(image);
}
}
public static void main(String args[]){
ImageProcessExample_2.smooth(“lina.jpg”);
}
}
运行成功!
**************************************************************************************************
按照上面的方法,在每次使用时都需要建立libs及其子文件夹,并需要添加各种jar文件,在OpenCV的官网上给出了配置流程:
http://docs.opencv.org/2.4.4-beta/doc/tutorials/introduction/desktop_java/java_dev_intro.html
整理如下:
1 创建一个Java项目:
File -> New -> Java Project, 命名为”HelloCV”
2 配置Java Build Path:
2.1 右击项目 -> Build Path -> Configure Build Path -> Libraries -> Add Library
2.2 选择 User Library,依次点击Next -> User Libraries -> New
2.3 在弹出来的对话框中输入OpenCV-2.4.4,然后点击OK
2.4 选择Add External JARs, 找到opencv-244.jar文件并添加
(我的OpenCV2.4.4安装路径为:D:\OpenCV-2.4.4
opencv-244.jar文件的路径为:D:\OpenCV-2.4.4\opencv\build\java)
2.5 然后选择Native library location:(None),点击右侧Edit
添加 D:\OpenCV-2.4.4\opencv\build\java\x86
然后点击OK,配置完毕
3 添加Java class文件,输入测试代码:
import org.opencv.core.*;
public class Main {
public static void main(String[] args) {
System.out.println(“Welcome to OpenCV ” + Core.VERSION);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println(“m = ” + m.dump());
}
}
运行结果如下:
http://blog.sina.com.cn/s/blog_7b4a5b550101ifi7.html