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

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

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

相关·内容

OpenCV4AndroidNDK开发(一)--- 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.4K30

计算机视觉 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...OpenCV4Androidfeature2d检测器与描述子的使用 基于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方法》笔记

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

    1.6K30

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

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

    92720

    高翔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

    Android微信程序实现蓝牙聊天功能的示例代码

    主要代码 1.清单文件中注册权限 <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" / <uses-permission...android:name="android.permission.BLUETOOTH" / 2.文件res / values / strings.xml里,添加程序运行过程的状态描述文本及配色代码等...,离开聊天室</string <string name="title_connecting" 链接......然后 run 方法 connect , 成功后调用 BluetoothChatSevice 的 connected() 方法。定义 cancel() 关闭线程时能够关闭相关socket 。...微信程序实现蓝牙聊天功能的文章就介绍到这了,更多相关android 微信程序蓝牙聊天内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    2.1K30

    OpenCV4.1.0+VS2017环境配置的方法步骤

    图10 Microsoft.Cpp.x64.user属性页 【通用属性】→【VC++目录】栏,可以看到如图11的界面。 ? 图11 配置包含路径 将以下两条路径名添加到【包含目录】。...配置库目录 库目录同样是图11的界面配置,【包含目录】下面第2个即是【库目录】。将以下路径名添加到【库目录】。...配置链接器 图12的界面,点击【通用属性】→【链接器】→【输入】。【附加依赖项】添加opencv_world410d.lib。...这个文件库文件夹C:\OpenCV-4.1.0\opencv\build\x64\vc15\lib下。opencv_world410d.lib是Debug版本的文件库,目前只需要添加这个文件库即可。...配置库目录 C:\OpenCV-4.1.0\opencv\build\x64\vc15\lib 配置链接器 opencv_world410d.lib (C:\OpenCV-4.1.0\opencv\

    76720

    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特征提取算法也在里面了

    46510

    Android自定义实现自定义监听器方式

    其实,监听器就相当于C++的回调函数,达到条件就回调执行。 很多时候,我们自定义控件也需要实现一些属性变化的监听器,实现跟原生控件监听器一样的功能。...LoadingListener { public void onFinishedLoading(boolean success); } MyClass自定义定义一个加载完成监听接口LoadingListener...补充知识:android Activity 给 Fragment 设置回调的方法 这个实现方法很简单,可分为3步走: 1.fragment定义接口 2.activity的定义时实现这个接口 3....fragment的 onAttach 方法 将 Context 转为 相应的接口; 代码如下: public class AllFragment extends Fragment { //......自定义实现自定义监听器方式就是小编分享给大家的全部内容了,希望能给大家一个参考。

    2.8K30

    OpenCV4AndroidNDK开发(二)---图片转为灰度图

    前言 上一篇文章已经介绍了OpenCV的环境配置《OpenCV4AndroidNDK开发(一)--- 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 #include <opencv2

    1.4K20

    基于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.3K40

    Ubuntu系统下安装 OpenCV 全过程

    经过不断的试错、安装、删除重装…… 写下这篇博客,希望其他人安装时能够轻松一点,少几次还原重装…… 版本: ubuntu18.10 OpenCV-4.1.0 首先,OpenCVubuntu上安装的官方文档...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

    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版本主要是考虑普适性的问题。...此外OpenCVDNN模块已经支持OpenVINO加速执行与NCS2加速、所以OpenCV DNN模块不支持英伟达显卡加速支持,支持的模块大部分是以前的传统图像处理、对象检测、特征匹配、双目、图像拼接部分

    9.8K30

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

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

    77920
    领券