java|基于opencv-3.4.0的图像特征点提取及图像匹配(Java 版)

研究了好几天的opencv-3.4.0(关于opencv的安装大家自行百度),在网上翻遍了资料也没找到几个java写的资料,最后不得不从C++资料里面去找相关方法,现分享给大家,话不多说直接看代码:
【java|基于opencv-3.4.0的图像特征点提取及图像匹配(Java 版)】

// 特征点匹配,值越大匹配度越高 @Test public void imgMatching2() throws Exception { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat src_base = Imgcodecs.imread("D:\\test\\test5.jpg"); Mat src_test = Imgcodecs.imread("D:\\test\\test3.jpg"); Mat gray_base = new Mat(); Mat gray_test = new Mat(); // 转换为灰度 Imgproc.cvtColor(src_base, gray_base, Imgproc.COLOR_RGB2GRAY); Imgproc.cvtColor(src_test, gray_test, Imgproc.COLOR_RGB2GRAY); // 初始化ORB检测描述子 FeatureDetector featureDetector = FeatureDetector.create(FeatureDetector.ORB); //特别提示下这里opencv暂时不支持SIFT、SURF检测方法,这个好像是opencv(windows) java版的一个bug,本人在这里被坑了好久。 DescriptorExtractor descriptorExtractor = DescriptorExtractor.create(DescriptorExtractor.ORB); // 关键点及特征描述矩阵声明 MatOfKeyPoint keyPoint1 = new MatOfKeyPoint(), keyPoint2 = new MatOfKeyPoint(); Mat descriptorMat1 = new

    推荐阅读