2016-04-08 17:43 6491人阅读 评论(0) 收藏 举报
 分类:
OpenCV学习(10) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

最近研究OpenCV想用java进行开发,因此研究了一下怎么在Eclipse中配置基于java的Opencv.

第一步:先到OpenCV官网下载你想要的版本,假设使用的是2.4.6版本。这里附上下载地址:http://opencv.org/downloads.html,在官网下载你想要的版本,解压到本地的某个目录。比如 D:/OpenCV/。

第二步,打开Eclipse,并找到Window –> Preferences.

第三步:进入Preferences菜单后,找到Java –> Build Path –> User Libraries ,然后点击New

第四步:点击上面对话框的New之后,会弹出一个对话框,如下图所示,在里面填入一个名字,如OpenCV-2.4.6

第五步:点击右侧的Add External JARs

第六步:点击后,浏览文件夹找到前面解压的文件夹,D:\OpenCV\build\java\,选择里面的opencv-246.jar,添加完jar包后,展开刚才添加的jar包,选择Native library location,点击右侧的Edit按钮,对其进行编辑

第七步:点击 External Folder...选择目录到:D:\OpenCV\build\java\x64\,然后点击ok   ,如果你使用的32位系统则选择x86文件夹

第八步:配置完成后的结果应该是这样的。

这样就配置完成了。下面进行一个简单的测试。创建一个Java Project,然后在项目上右键,Build Path ---->Configure Build Path ,点击Libraries选项卡,点击下面的Add Library,弹出来的对话框中选择“User Library”。

然后勾选OpenCV-2.4.6,这样就添加完成了。

添加完成后的效果如下:

下面就可以进行测试了,可以使用如下的代码进行测试。

  1. import org.opencv.core.Core;
  2. import org.opencv.core.CvType;
  3. import org.opencv.core.Mat;
  4. public class Hello
  5. {
  6. public static void main( String[] args )
  7. {
  8. System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
  9. Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
  10. System.out.println( "mat = " + mat.dump() );
  11. }
  12. }
package testOpencvJava;

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat; import org.opencv.core.*; import org.opencv.imgproc.*;
import org.opencv.highgui.*; public class Hello { // public static void main(String[] args) {
// // TODO Auto-generated method stub
//
// }

public static void main( String[] args ) 

System.loadLibrary( Core.NATIVE_LIBRARY_NAME ); 
Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 ); 
mat = Mat.ones( 100, 100, CvType.CV_8UC1 );

double [ ] valsSca= {255,255,255 };
org.opencv.core.Scalar s = Scalar.all(255.0) ;//= "";//"";// = valsSca ;
s.set(valsSca);
double [] widHei = { 100.0,100.0 };
org.opencv.core.Size sz=new Size(widHei) ;//= Size( );
sz.set( widHei );
sz.height=100;
sz.width=100;
mat=new Mat( sz, 0 , s );
// mat=Mat();
// mat.nativeObj = mat.nativeObj* 100;

// System.out.println( "mat = " + mat.dump() );

// imshow( "mat", mat );
Highgui.imwrite( "mat.jpg", mat);

}


}

 
package testOpencvJava;

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.Highgui;
import org.opencv.objdetect.CascadeClassifier; public class FaceDetector { public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.out.println("\nRunning FaceDetector"); CascadeClassifier faceDetector = new CascadeClassifier(FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath());
Mat image = Highgui
.imread(FaceDetector.class.getResource("wangxinling.JPG").getPath()); MatOfRect faceDetections = new MatOfRect();
faceDetector.detectMultiScale(image, faceDetections); System.out.println(String.format("Detected %s faces", faceDetections.toArray().length)); for (Rect rect : faceDetections.toArray()) {
Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height),
new Scalar(0, 255, 0));
} String filename = "wangxinling-ouput.png";
System.out.println(String.format("Writing %s", filename));
Highgui.imwrite(filename, image);
}
}

java中使用opencv的更多相关文章

  1. OpenCV - Linux(Ubuntu 16.04)中安装OpenCV + OpenCV_Contrib

    近两个月来接触了Linux系统,在老板的建议下翻了Ubuntu的牌子,我安装的版本是16.04,用习惯之后感觉蛮好的,比Windows要强.好啦,废话不说啦,下面开始说在Ubuntu中安装OpemCV ...

  2. 在IntelliJ IDEA 13中配置OpenCV的Java开发环境

    准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...

  3. OpenCV4Android开发之旅(一)----OpenCV2.4简介及 app通过Java接口调用OpenCV的示例

    转自:  http://blog.csdn.net/yanzi1225627/article/details/16917961 开发环境:windows+ADT Bundle+CDT+OpenCV-2 ...

  4. 如何在Android中使用OpenCV

    如何在Android中使用OpenCV 2011-09-21 10:22:35 标签:Android 移动开发 JNI OpenCV NDK 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始 ...

  5. Android开发中的OpenCV霍夫直线检测(Imgproc.HoughLines()&Imgproc.HoughLinesP())

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃   //2017-04-21更新: 很多网友希望能得到源码,由于在公司做的,所以不太方便传出来 ...

  6. java 实现基于opencv全景图合成

    因项目需要,自己做了demo,从中学习很多,所以分享出来,希望有这方面需求的少走一些弯路,opencv怎么安装网上教程多多,这里不加详细说明,我安装的opencv-3.3.0 如上图所示,找到相应的j ...

  7. java中的锁

    java中有哪些锁 这个问题在我看了一遍<java并发编程>后尽然无法回答,说明自己对于锁的概念了解的不够.于是再次翻看了一下书里的内容,突然有点打开脑门的感觉.看来确实是要学习的最好方式 ...

  8. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  9. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

随机推荐

  1. [暑假集训--数位dp]LightOJ1140 How Many Zeroes?

    Jimmy writes down the decimal representations of all natural numbers between and including m and n, ...

  2. 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解(转载)

    相关参考文章: 谈谈自己对REST.SOA.SOAP.RPC.ICE.ESB.BPM知识汇总及理解 微服务SOA架构与RPC远程过程调用 SOA和微服务架构的区别 SOA: 维基百科解释:SOA:面向 ...

  3. 超爽的Windows终端Cmder

    我们常常看到科研.军事.编程上用的计算机系统是"黑洞洞"的,没有桌面.相对我们现在使用的Windows系统,既方便又美观,那么他们怎么不用Windows一样的图形化界面呢? 告诉你 ...

  4. FZOJ Problem 2150 Fire Game

                                                                                                        ...

  5. serializeObject 的应用

    function sendForm() { var invOrderModelWrapper = {}; // 头 var objHeader = $('#invOrderForm').seriali ...

  6. 2017-11-07-noip模拟题

    T1 数学老师的报复 矩阵快速幂模板,类似于菲波那切数列的矩阵 [1,1]*[A,1 B,0] #include <cstdio> #define LL long long inline ...

  7. 洛谷——P2919 [USACO08NOV]守护农场Guarding the Farm

    P2919 [USACO08NOV]守护农场Guarding the Farm 题目描述 The farm has many hills upon which Farmer John would li ...

  8. ssm框架 spring的主配置文件 spring-mvc主配置文件 web.xml配置文件(基础的配置文件)

    1.spring主配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=" ...

  9. SQL SERVER 工具

    http://www.cnblogs.com/fygh/archive/2012/04/25/2469563.html

  10. 椭圆人头跟踪bmp图像序列 BMP Image Sequences for Elliptical Head Tracking

    BMP Image Sequences for Elliptical Head Tracking The BMP image sequences used in the head tracking d ...