首页
学习
活动
专区
工具
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)来运行上述代码。您可以在腾讯云的官方网站上找到更多关于云服务器的信息和产品介绍。

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

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

相关·内容

OpenCV4Android中NDK开发(一)--- OpenCV4.1.0环境搭建

前言 以前的文章中《OpenCV简介与Android SDK环境》列出过OpenCV4Android的开发,不过当时是用的Java实现,做了一些Demo后慢慢发现,在图像处理中用JAVA调OpenCV...准备工作 开发环境 Android Studio 3.3.2 NDK 19.2.5345600 OpenCV for Android 4.1.0 ---- NDK的搭建 详见《Android NDK...编程(一)---NDK介绍及环境搭建》 ---- OpenCV下载及准备 下载地址:https://opencv.org/releases/ 找到最新版本4.1.0的下载地址,点击Android进入下载...调用OpenCV4Android中的so动态库用于打包进APK,下图中红框内的路径就是我们上面下载的OpenCV4.1.0中的动态库路径 ? 我们看一下那个路径 ?...文件 下图中标红框的地方就是我在原来的CMakeLists.txt中修改的地方 ?

3.5K30

计算机视觉 OpenCV Android | 特征检测与匹配 之 Feature2D中的检测器与描述子

OpenCV4Android中创建ORB检测器与描述子的代码: FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB...检测器与描述子 BRISK(Binary Robust Invariant Scalable Keypoint)特征检测与描述子是在2011年由几位作者联合提出的一种新的特征提取算法, OpenCV4Android...在OpenCV4Android中创建AKAZE特征检测器与描述子的代码如下: FeatureDetector detector = FeatureDetector.create(FeatureDetector.AKAZE...OpenCV4Android中feature2d检测器与描述子的使用 基于feature2d中的检测器对象实现对象关键点检测的演示代码: FeatureDetector detector = null;...---- 参考材料 《OpenCV Android 开发实战》(贾志刚 著) 关于《OpenCV Android 开发实战》作者的GitHub项目 笔者基于作者GitHub维护的APP

2.1K20
  • 在Android开发中怎样使用Application类

    ---- 在Android开发中怎样使用Application类 ---- 自己独立开发项目才发现以前对Application类并不是十分了解,现在开始直接搭建一个新项目的框架才重新踩过这个坑。...Context是维持Android应用的核心功能类,是整个Android系统交互的核心。 ?...Application类在项目开发中的使用 首先在项目目录下一个Java类继承Application类,实现是onCreate()方法。...在控件的构造方法中获取Context或者做其他视图操作 写过Android的同学应该知道自己或者看别人dome都很少或者基本看不到在控件构造函数内进行初始化,获取参数等这些操作吧!...具体原因是在ContextWrapper类的源码中,他有一个attachBaseContext()方法,这个方法会将传入的一个Context参数赋值给mBase对象,之后mBase对象就有值了。

    2.2K50

    在Android开发中怎样使用Application类(二)

    接着上次总结的Application类的实际项目使用Android开发中怎样使用Application类,最近我又发现了一个取巧的使用方法,给想要快速开发的同学分享下心得,也是给大家多提供一个思路吧。...统一全局的Dialog样式,你就可以在这个帮助类中获取App的当前Activity实例来显示Dialog. 2、工具类中用static关键字引入Application实例类的单例对象 这个才是今天我主要想说的...,在import中通过static关键字引入Application实例,工具类和帮助类中的大量方法中就不用大量依赖Context类做传入处理了。...import android.content.Context; import android.content.res.Resources; import com.cq.dome.utils.helper.ResHelper...第二种方法当然在设计模式上有耦合度很高的缺点,导致这些工具类都要依赖App类,但是在Android开发中,这个你可以封装一个BaseApplication的Application的基础类来,让其他的Application

    1.6K20

    学习《实时Opencv处理后的Camera图像Android NDK方法》笔记

    前言 前面文章《OpenCV4Android中NDK开发(一)--- OpenCV4.1.0环境搭建》自己配置好了NDK的Opencv方法,因为在Android中使用最常见的还是摄像头实时处理,所以最近一直在研究摄像头和...早些的文章《OpenCV简介与Android SDK环境》有介绍过加载OpenCV的模块直接用OpenCV中的摄像头,但是决定使用NDK方式就不想再进行模块导入加上NDK的方式了,在网上找了好久终于找到一篇...从上图中我们看到原作者用到的是opencv3.3,而我现在已经改为最新的OpenCV4.1了,所以我们直接不再采用他的CMakeList文件,把《OpenCV4Android中NDK开发(一)--- OpenCV4.1.0...注:这里上面的框中“*.cpp”原来我写的是“src/main/cpp/*.cpp”,结果各种编译不了,一直报错,后来我直接写的“*.cpp”即可,原因就是我们的CMakeList文件是和这些CPP的文件在同一目录下的...从上面看我找了一下GetIntArrayElements这个方法在native-lib.cpp中 ? 点击进去看原方法参数也都没有问题 ?

    1.6K30

    Android利用SurfaceView显示Camera图像爬坑记(五) -- 在现有项目中加入NDK配置

    《OpenCV4Android中NDK开发(一)--- OpenCV4.1.0环境搭建》这篇中我们是新建的项目中直接选择了包含C++,本篇主要是介绍怎么在现在的项目加改为使用JNI的方式。...如果没有配置的可以自己新建一个CMakeList.txt,下面是CMakeList.txt的配置,这个配置是直接关联我们的OpenCV库的,取自《OpenCV4Android中NDK开发(一)--- OpenCV4.1.0...在android下的defaultConfig下加入Cmake的配置 externalNativeBuild { cmake {...在android下面加入OpenCV的Lib目录 //加上 sourceSets{ main{ //当前这个目录下的库文件会被调用并且被打包进apk...中 jniLibs.srcDirs = ['D:/PersonalStudio/OpenCV-android-sdk/sdk/native/libs'] }

    93920

    高翔Slambook第七讲代码解读(特征点提取)

    其中,Mat类型是OpenCV定义的一个类,其维度不需要像定义一个二维数组变量一样去明确指定,而是会适应你去初始化时所需要的维度。...那么对于特征点,我们知道最起码需要确定他在图像中的位置,进而如果需要使用改进BRIEF去计算其描述子,我们还需知道其方向,等等。...,并存于Mat类变量descriptor中。...在不考虑图像下标imgIdx时,queryIdx与trainIdx构成了一组匹配好的特征点分别在两张图像内的索引,分别是所选中的特征点在所对应的keypoints容器中对应的标号。...进而,使用matcher中的match函数,将存有描述子信息的Mat类变量descriptors_1与descriptors_2进行相似度匹配,并存于matches容器中。

    1.4K53

    OpenCV特征点检测——ORB特征

    如何解决旋转不变性: 在ORB的方案中,是采用了FAST作为特征点检测算子。...FAST应用的很多了,是出名的快,以防有人不知道,请看这里: 在Sift的方案中,特征点的主方向是由梯度直方图的最大值和次大值所在的bin对应的方向决定的。略嫌耗时。...在ORB的方案中,特征点的主方向是通过矩(moment)计算而来,公式如下: 有了主方向之后,就可以依据该主方向提取BRIEF描述子。...如何解决对噪声敏感的问题: 在前面提到过,在最早的eccv2010的文章中,BRIEF使用的是pixel跟pixel的大小来构造描述子的每一个bit。这样的后果就是对噪声敏感。...参考Slides Related posts Android-opencv之CVCamera http://www.cvchina.info/2011/01/21/android-opencv%E4%

    1.5K70

    OpenCV特征点检测------ORB特征

    如何解决旋转不变性: 在ORB的方案中,是采用了FAST作为特征点检测算子。...FAST应用的很多了,是出名的快,以防有人不知道,请看这里: 在Sift的方案中,特征点的主方向是由梯度直方图的最大值和次大值所在的bin对应的方向决定的。略嫌耗时。...在ORB的方案中,特征点的主方向是通过矩(moment)计算而来,公式如下: 有了主方向之后,就可以依据该主方向提取BRIEF描述子。...如何解决对噪声敏感的问题: 在前面提到过,在最早的eccv2010的文章中,BRIEF使用的是pixel跟pixel的大小来构造描述子的每一个bit。这样的后果就是对噪声敏感。...参考Slides Related posts Android-opencv之CVCamera (1) 最新版的OpenCV中新增加的ORB特征的使用 看到OpenCV2.3.1里面ORB特征提取算法也在里面了

    51410

    OpenCV4Android中NDK开发(二)---图片转为灰度图

    前言 上一篇文章已经介绍了OpenCV的环境配置《OpenCV4Android中NDK开发(一)--- OpenCV4.1.0环境搭建》,今天这篇我们就来直接进行实战,先做最简单的传入图像转为灰度图。...代码文件 MainActivity.java 在布局对应的文件中我们加入控件的加载和事件代码 ? ? 然后我们定义一个native的方法,用于实现NDK开发,如下图的 ?...刚建好时方法名为红色的,我们还是按ALT+ENTER,直接在C++的文件中自动生成对应的函数方法名。 ?...native-lib.cpp 由于在C++我们也用到了JAVA的Bitmap的类,所以我们在include里面要加入android/bitmap.h ?...完成的native-lib.cpp的代码 #include #include #include android/bitmap.h> #include opencv2

    1.5K20

    在 Ubuntu系统下安装 OpenCV 全过程

    经过不断的试错、安装、删除重装…… 写下这篇博客,希望其他人安装时能够轻松一点,少几次还原重装…… 版本: ubuntu18.10 OpenCV-4.1.0 首先,OpenCV 有在ubuntu上安装的官方文档...OpenCV 进入解压出来的OpenCV-4.1.0文件夹,创建一个新文件夹,我创建的叫 build 进入新文件夹,打开终端,进入这个文件夹 执行命令 cmake -D CMAKE_BUILD_TYPE...sudo gedit /etc/ld.so.conf.d/opencv.conf 在文末添加 /usr/local/lib 保存后,执行如下命令使得刚才的配置路径生效 sudo ldconfig.../opencv_example 如果摄像头打开,左上角出现 Hello OpenCV 则证明安装成功 6.关于安装 opencv_contrib 首先下载下来源文件,放置在OpenCV-4.1.0文件夹中...在上述过程第3步中,cmake命令改为 cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH

    1.1K20

    基于OpenCV全景拼接(Python)

    因为在处理关键点检测和局部不变性在OpenCV 2.4.X和OpenCV 3.X中有很大的不同,比如SIFT和SURF。这里将给出兼容两个版本的代码。...imutils是一套OpenCV的工具包。最后把cv2导入OpenCV。 在第6行定义了Stitcher类,可以检测我们是否使用了OpenCV3。...由于在opencv 2.4和OpenCV 3处理关键点检测和局部不变特征的有明显的差异,OpenCV的版本对我们的使用是很重要的。...接下来就是准备应用透视变换: 假设M不返回None,我们在第30行拆包这个元组,是一个包含关键点匹配、从RANSAC算法中得到的单应矩阵H以及最后的status,用来表明那些已经成功匹配的关键点。...因为这是计算机视觉中的一个非常普遍的做法,OpenCV已经内置了一个cv2.DescriptorMatcher_create方法,用来匹配特征。

    7.4K40

    OpenCV4 | 如何让传统图像处理实现三十倍加速的顶级技能

    模块支持与应用场景 在开始教程之前,先说一下相关软件与版本信息 Windows 10 64bit 英伟达CUDA 10.0 OpenCV 4.1.0 OpenCV扩展模块4.1.0 GTX 1050 TI.../opencv/opencv/releases/download/4.1.0/opencv-4.1.0-vc14_vc15.exe https://github.com/opencv/opencv_contrib...设置以后,在搜索框中输入CUDA, WITH_CUDA BUILD_CUDA_STUBS 上述两个选项打勾之后,再次点击【configure】按钮,完成之后,显示如下: ?...模块支持与应用场景 04 既然CUDA加速这么厉害,为什么OpenCV在正式的release中却没有包含呢?本人觉得OpenCV正式的官方Release版本主要是考虑普适性的问题。...此外OpenCV中DNN模块已经支持OpenVINO加速执行与NCS2加速、所以OpenCV DNN模块不支持英伟达显卡加速支持,支持的模块大部分是以前的传统图像处理、对象检测、特征匹配、双目、图像拼接部分

    10.1K30

    Android NDK OpenCV背景消除建模(新Demo附源码)

    背景消除建模(BSM)以前我们有两篇介绍过,本章主要是目的是我把Android NDK OpenCV的Demo重新建了一个新的,一是把原来那个DEMO中关于TesserartOCR的相关部分都去掉了,二是在这个...背景消除建模(BSM) 在opencv中有两种方法可以进行背景消除: 基于机器学习(Knn--K个最近邻)背景消除建模 基于图像分割(GMM,抗干扰图像分割)背景消除建模 代码实现 ?...我们新建了一个AndroidNDKOpenCV的Demo,主要的模块和原来那个差不多,只是去掉了TesserartOCR相关的东西,如果重新搭项目可以参照我以前的《OpenCV4Android中NDK开发...(一)--- OpenCV4.1.0环境搭建》。...然后在CPP文件夹下面建了一个bsm的Class 01 bsm.h头文件 bsm.h ?

    78720

    Android开发(53) 摄像头自动对焦。在OpenCV图像识别中连续拍照时自动对焦和拍照。

    在拍照时,一定是需要调焦的。一般会在目标位置最清晰的时候会停止对焦。最近在处理OpenCV进行图像识别时,需要连续的调焦(对焦),并在对焦完成后进行拍照,获取图片后进行图像识别。...概念 焦距,也称为焦长,是光学系统中衡量光的聚集或发散的度量方式,指从透镜中心到光聚集之焦点的距离。亦是照相机中,从镜片光学中心到底片、CCD或CMOS等成像平面的距离。...基础知识 想实现对焦,先了解下Android系统的拍照API为我们提供了什么。 Camera 类位于 android.hardware 命名空间下,它提供了操作相机的一些方法。   ...Camera类提供了自动对焦的方法,它接收一个 AotoFocusCallback的回调。这个方法执行后就相机就会自动对焦,当它对焦完成后(成功或失败)触发回调。...一般情况下,我们会在这里发出一个消息或者在声明一个回调来间接执行拍照。

    2.5K00

    OpenCV 安卓编程示例:1~6 全

    一、准备就绪 在本章中,我将逐步介绍如何开始使用 OpenCV 开发具有视觉感知的 Android 应用。...Mat类 在使用 OpenCV 开发视觉感知应用时,将使用的最重要的基本数据结构是Mat类。 Mat类表示n维密集数字单通道或多通道数组。...现在,您需要将新创建的 Android 项目与刚刚导入的 OpenCV 库链接,因此,在新项目上,右键单击属性。 在左窗格中,选择Android树节点,然后在右窗格中,单击添加。...OpenCV 具有与检测器相似的描述符接口。 您在DescriptorExtractor类上调用一个create方法,并传递要使用的描述符的 ID。 在本例中,ID 基于我们从应用菜单中所做的选择。...org.opencv.android.JavaCameraView类使相机可以在设备屏幕上处理和绘制帧。

    5.8K10

    pyTorch入门(六)——实战Android Minist OpenCV手写数字识别(附源码地址)

    前言前面几篇文章实现了pyTorch训练模型,然后在Windows平台用C++ OpenCV DNN推理都实现了,这篇就来看看在Android端直接实现一个手写数字识别的功能。本篇最后会放出源码地址。...实现效果实现Android端后写数字识别,一个是项目的OpenCV的环境搭建,详细的搭建可以看《OpenCV4Android中NDK开发(一)--- OpenCV4.1.0环境搭建》,这里只做一下简单介绍了...另一个就是手写板的实现,手写板在前面的《Android Kotlin制作签名白板并保存图片》中已经完成,这次直接将里面现成的类拿过来用即可。...其实可以直接在原来的Bitmap中修改图像显示,不需要返回类了,那个在JNI中也有实现,只不过既然是练习Demo,就多掌握点知识,直接在NDK中实现返回类的效果。...源码中包括了pyTorch的训练,VS中C++ OpenCV的推理及生成训练图片,及我们现在这个Android的手写数字识别的完整Demo。

    54930

    树莓派4B 安装opencv完整教程基于python3(各种错误解决)

    本人一直在做opencv的项目,需要入手一块树莓派来在移动端跑opencv,所以买了一块树莓派4B,然后安装上了系统,开启了曲折的opencv安装之旅。...首先有幸看到子豪兄的视频,还是很好的,所以直接跟着它子豪兄教你在树莓派上安装OpenCV教程安装opencv,但是后来发现各种不可名状的错误,最后发现他的是基于树莓派3B+,环境是python3.5,但是树莓派...开始我们的教程: 一,更换源 如果你是安装的树莓派原装系统,你就需要换源,更换成清华源或者是中科大源 在树莓派命令指令行中输入 sudo nano /etc/apt/sources.list 用#注释掉原文件内容...安装包 下载OpenCV4.1 git clone -b 4.1.0 --recursive https://github.com/opencv/opencv.git git clone -b 4.1.0...=/home/pi/Downloads/opencv_contrib-4.1.0/modules \#本行需根据自己安装的路径修改 -D BUILD_EXAMPLES=ON \ -D WITH_LIBV4L

    1.7K10
    领券