首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DescriptorExtractor类在opencv 4.1.0 for Android中不可用

DescriptorExtractor类是OpenCV库中的一个类,用于提取图像特征描述符。在OpenCV 4.1.0版本的Android库中,DescriptorExtractor类不再可用。这是因为OpenCV在4.0版本中引入了一个新的特征描述符提取器类,即AKAZE(Accelerated-KAZE)。

AKAZE是一种快速的特征描述符提取算法,它结合了KAZE(KAZE是一种基于尺度空间的特征提取算法)和FAST(一种快速的特征检测算法)的优点。相比于以前的DescriptorExtractor类,AKAZE提供了更好的性能和更丰富的特征描述符。

在OpenCV 4.1.0 for Android中,推荐使用AKAZE类来提取图像特征描述符。AKAZE类可以通过OpenCV的Java接口在Android应用程序中使用。您可以使用AKAZE类的detectAndCompute方法来检测和计算图像的特征描述符。

以下是使用AKAZE类的示例代码:

代码语言:txt
复制
import org.opencv.core.Mat;
import org.opencv.features2d.AKAZE;
import org.opencv.features2d.KeyPoint;
import org.opencv.core.MatOfKeyPoint;
import org.opencv.core.MatOfFloat;

// 加载OpenCV库
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

// 创建AKAZE对象
AKAZE akaze = AKAZE.create();

// 加载图像
Mat image = Imgcodecs.imread("path_to_image");

// 检测和计算特征描述符
MatOfKeyPoint keypoints = new MatOfKeyPoint();
Mat descriptors = new MatOfFloat();
akaze.detectAndCompute(image, new Mat(), keypoints, descriptors);

// 打印特征点数量
System.out.println("Number of keypoints: " + keypoints.size().height);

// 打印特征描述符维度
System.out.println("Descriptor dimensions: " + descriptors.size().width);

在上述示例代码中,我们首先加载OpenCV库,然后创建AKAZE对象。接下来,我们加载图像并使用detectAndCompute方法检测和计算特征描述符。最后,我们打印特征点的数量和特征描述符的维度。

腾讯云提供了OpenCV的云服务,您可以使用腾讯云的云服务器(CVM)来运行上述代码。您可以在腾讯云的官方网站上找到更多关于云服务器的信息和产品介绍。

腾讯云产品链接:腾讯云云服务器

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何编译OpenCV4.1.0支持OpenVINO推断引擎加速支持

OpenVINO自发布以来,依靠其强大的加速性能,在CPU上进行深度学习模型加速优势,迅速受到很多公司与开发者的青睐,但是如何从OpenCV源码编译生成OpenVINO的inferinference engine(IE)加速推理支持的OpenCV版本,一直是很多开发者头疼的事情,很多人都不得不使用OpenVINO官方编译的OpenCV支持版本,无法实现从源码开始的定制化的OpenCV版本编译。本人从2018年12月份开始研究OpenVINO开发技术,上半年也发布一系列的OpenVINO开发技术相关文章,得到了大家热烈响应,今天我们就来很详细的一步一步的教大家如何从OpenCV源码开始在windows10系统下如何编译IE加速版本的OpenCV安装包,并如何配置与测试IE支持之后的OpenCV DNN的卓越性能。

03

OpenCV3 和 Qt5 计算机视觉:1~5

在最基本的形式和形状中,“计算机视觉”是一个术语,用于标识用于使数字设备具有视觉感觉的所有方法和算法。 这意味着什么? 好吧,这就是听起来的确切含义。 理想情况下,计算机应该能够通过标准相机(或与此相关的任何其他类型的相机)的镜头看到世界,并且通过应用各种计算机视觉算法,它们应该能够检测甚至识别并计数人脸。 图像中的对象,检测视频馈送中的运动,然后执行更多操作,这些操作乍一看只能是人类的期望。 因此,要了解计算机视觉的真正含义,最好知道计算机视觉旨在开发方法以实现所提到的理想,使数字设备具有查看和理解周围环境的能力。 值得注意的是,大多数时间计算机视觉和图像处理可以互换使用(尽管对这个主题的历史研究可能证明应该相反)。 但是,尽管如此,在整本书中,我们仍将使用“计算机视觉”一词,因为它是当今计算机科学界中更为流行和广泛使用的术语,并且因为正如我们将在本章稍后看到的那样,“图像处理”是 OpenCV 库的模块,我们还将在本章的后续页面中介绍,并且还将在其完整的一章中介绍它。

02

OpenCV3 和 Qt5 计算机视觉:6~10

它始终以未经处理的原始图像开始,这些图像是使用智能手机,网络摄像头,DSLR 相机,或者简而言之,是能够拍摄和记录图像数据的任何设备拍摄的。 但是,通常以清晰或模糊结束。 明亮,黑暗或平衡; 黑白或彩色; 以及同一图像数据的许多其他不同表示形式。 这可能是计算机视觉算法中的第一步(也是最重要的步骤之一),通常被称为图像处理(目前,让我们忘记一个事实,有时计算机视觉和图像处理可互换使用;这是历史专家的讨论。 当然,您可以在任何计算机视觉过程的中间或最后阶段进行图像处理,但是通常,用大多数现有设备记录的任何照片或视频首先都要经过某种图像处理算法。 这些算法中的某些仅用于转换图像格式,某些用于调整颜色,消除噪点,还有很多我们无法开始命名。 OpenCV 框架提供了大量功能来处理各种图像处理任务,例如图像过滤,几何变换,绘图,处理不同的色彩空间,图像直方图等,这将是本章的重点。

02
领券