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
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 基于爱,才会有“愿望”当“要求”。2017.8.12
- Java|Java基础——数组