opencv3_java akaze的特征提取与图像匹配 akaze

原创 2017年05月30日 17:11:22

akaze的特征提取与图像匹配 akaze


package opencv_java_demo;

import org.opencv.core.*;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.features2d.*;

public class akaze {

	public static void main(String[] args) {
		try{
			System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
			
			Mat src1=Imgcodecs.imread("./imgaes/src1.jpg");
			Mat src2=Imgcodecs.imread("./imgaes/src2.jpg");
			if(src1.empty()||src2.empty()){
				throw new Exception("no file");
			}
			
			MatOfKeyPoint keypoint1=new MatOfKeyPoint();
			MatOfKeyPoint keypoint2=new MatOfKeyPoint();
			FeatureDetector sifDetector =FeatureDetector.create(FeatureDetector.AKAZE);
			
			siftDetector.detect(src1,keypoint1);
			siftDetector.detect(src2,keypoint2);
			
			DescriptorExtractor extractor=DescriptorExtractor.create(DescriptorExtractor.AKAZE);
			
			Mat descriptor1=new Mat(src1.rows(),src1.cols(),src1.type());
			extractor.compute(src1, keypoint1, descriptor1);
			Mat descriptor2=new Mat(src2.rows(),src2.cols(),src2.type());
			extractor.compute(src2, keypoint2, descriptor2);
			
			MatfOfMatch matches=new MatOfMatch();
			DescriptorExtractor matcher=DescriptorExtractor.create(DescriptorExtractor.BRUTEFORCE);
			
			matcher.match(descriptor1,descriptor2,matches);
			
			Mat dst=new Mat();
			Features2d.drawMatches(src1, keypoint1, src2, keypoint2, matches, dst);
			
			Imgcodecs.imwrite("./images/akaze.jpg", dst);
		}catch(Exception e){
			System.out.println("例外:"+e);
		}

	}

}


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

相关文章推荐

OpenCV学习笔记(二):OpenCV3.0 AKAZE特征检测与显示

说明         在OpenCV3.0中,移除了SiftFeatureDetector类,导致在进行试验的时候遇到了很大的困难,后来在网上查找和查看代码之后找到了AKAZE检测器,但是还不知道其与...

OpenCV学习笔记(31)KAZE 算法原理与源码分析(五)KAZE的源码优化及与SIFT的比较

KAZE系列笔记:1.  OpenCV学习笔记(27)KAZE 算法原理与源码分析(一)非线性扩散滤波2.  OpenCV学习笔记(28)KAZE 算法原理与源码分析(二)非线性尺度空间构建3.  O...

Java实现两个图的匹配率计算

Java实现两个图的匹配率计算 用java实现以下功能。 两个图A和B之间的匹配率计算公式: ,其中|A|表示图A中顶点个数,表示图A和图B共同顶点 组成的子图。例如下图中R1和P1的匹配率为:...

自己琢磨的 图像相似度算法 JAVA版实现

最近有个项目里要整理缩略图和原图是否匹配,然后就去找工具和方法做了,之后很好奇图像相似度是怎么算的,google了下貌似很深奥,而且无最简单的例子java代码源码下载,估计图形学的人不削用java吧。...
  • wty19
  • wty19
  • 2011年09月25日 22:04
  • 9634

opencv3_java 在图像上画circle圆圈 circle

在图像上画circle圆圈 circle package opencv_java_demo; import org.opencv.core.*; import org.opencv.img...

Java+opencv3.2.0之环境配置

1、 在eclipse中添加opencv库 步骤: 1) 安装opencv库,这里用的是opencv-3.2.0-vc14.exe,双击安装 2) Eclipse中Window–> Pre...

OpenCV学习笔记[3]Java Demo人脸识别

OpenCV学习笔记:Java Demo人脸识别 通过对OpenCV的初步了解,我发现图像识别的很多问题都可以用它方便的解决,本次将是一个来自官方的人脸识别的实例,我们提供图像,使用内置的匹配模式与算...

opencv3_java 图像Mat画图 Mat

图像Mat画图 Mat package opencv_java_demo; import org.opencv.core.*; import org.opencv.imgcodecs.Im...

Eclipse+Java+OpenCV310环境搭建和代码测试

通过对OpenCV的初步了解,我发现图像识别的很多问题都可以用它方便的解决,本次将是一个来自官方的人脸识别的实例,我们提供图像,使用内置的匹配模式与算法,得到图像中的人脸位置,这与在腾讯空间中流行的图...
  • dage629
  • dage629
  • 2016年05月19日 16:33
  • 2054

opencv3_java 生成输出对角矩阵 Mat.eye

生成输出对角矩阵 Mat.eye package opencv_java_demo; import org.opencv.core.Core; import org.opencv.core...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:opencv3_java akaze的特征提取与图像匹配 akaze
举报原因:
原因补充:

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