Atitit 图像处理 调用opencv 通过java api attilax总结
1.1. Opencv java api的支持 opencv2.4.2 就有了对java api的支持1
1.2. 安装2016-05-19 opencv v2.4.13 267M ,一个压缩包解压即可1
1.3. Opencv d java 接口api ,把opencv-2413.jar加入java项目1
1.4. /AtiPlatf_ee/src/com/attilax/img/SfitTest.java 提取sfit特征2
2. Qa3
2.1. java.lang.UnsatisfiedLinkError: Directory separator should not appear in library name: D:\tsclib.dll3
2.2. System.loadLibrary Native.loadLibrary 区别3
2.3. 参考资料4
1.1. Opencv java api的支持 opencv2.4.2 就有了对java api的支持
2012-07-04 opencv2.4.2 就有了对java api的支持
虽说以前可以使用jna调用dll但是比较麻烦。数据类型可能对应不上。。使用python调用dll也是可以的。
有了全新的java api支持那就最好不过了。
1.2. 安装2016-05-19 opencv v2.4.13 267M ,一个压缩包解压即可
解压以后2.7g 包含64 位和x86 ,如果只要64位,则1.5g差不多了
又包含vc12 和vc11版,,如果只要一个vc12,则600M体积就可以了。。
C:\progrm\opencv\build\x64\vc12
1.3. Opencv d java 接口api ,把opencv-2413.jar加入java项目
C:\progrm\opencv\build\java
opencv-2413.jar
opencv_java2413.dll
1.4. /AtiPlatf_ee/src/com/attilax/img/SfitTest.java 提取sfit特征
、
package com.attilax.img;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfKeyPoint;
import org.opencv.highgui.Highgui;
import org.opencv.features2d.*;
public class SfitTest {
/**
* ret
* 128
1589
* @param args
*/
public static void main(String[] args) {
//opencv_java2413 Core.NATIVE_LIBRARY_NAME
System.load( "C:\\progrm\\opencv\\build\\java\\x64\\opencv_java2413.dll" );
Mat test_mat = Highgui.imread("C:\\000sklt\\2.jpg");
Mat desc = new Mat();
FeatureDetector fd = FeatureDetector.create(FeatureDetector.SIFT);
MatOfKeyPoint mkp =new MatOfKeyPoint();
fd.detect(test_mat, mkp);
DescriptorExtractor de = DescriptorExtractor.create(DescriptorExtractor.SIFT);
de.compute(test_mat,mkp,desc );//提取sift特征
System.out.println(desc.cols());
System.out.println(desc.rows());
}
}
2. Qa
2.1. java.lang.UnsatisfiedLinkError: Directory separator should not appear in library name: D:\tsclib.dll
说明loadLibrary不支持路径。
将
System.loadLibrary("tsclib.dll");
修改成
System.load("D:/tsclib.dll");
2.2. System.loadLibrary Native.loadLibrary 区别
一中是用JNA方法,另外是用JNative方法,两种都是转载来的,
Native.loadLibrary(DLLPATH, DM.class); 需要实现一个接口
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java2413 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.attilax.img.SfitTest.main(SfitTest.java:15)
2.3. 参考资料
java中调用dll文件的两种方法 - jimmy609的专栏 - 博客频道 - CSDN.NET.html
opencv java api提取图片sift特征 - anexplore - 博客园.html
OpenCV 3.0 版正式发布,史上功能最全,速度最快的版本 - OPEN资讯.html
opencv_百度百科.html
作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher
捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak
简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴
全名::Emir Attilax Akbar bin Mahmud bin attila bin Solomon bin adam Al Rapanui 埃米尔 阿提拉克斯 阿克巴 本 马哈茂德 本 阿提拉 本 所罗门 本亚当 阿尔 拉帕努伊
常用名:艾提拉(艾龙), EMAIL:[email protected]
头衔:uke总部o2o负责人,全球网格化项目创始人,
uke宗教与文化融合事务部部长, uke宗教改革委员会副主席
,Uke部落首席大酋长,
uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,
奶牛科技cto ,uke 首席cto
uke波利尼西亚区大区连锁负责人,克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke汤加王国区域负责人。布维岛和南乔治亚和南桑威奇群岛大区连锁负责人
Uke软件标准化协会理事长理事长 uke终身教育学校副校长
Uke 数据库与存储标准化协会副会长 uke出版社编辑总编
Uke医院方面的创始人
转载请注明来源:attilax的专栏 ?http://www.cnblogs.com/attilax/
--Atiend