图像检索系统怎么做,android

图像检索系统怎么做,android,第1张

建立工程project,准备好NDK环境,opencv环境相信聪明的你一定能搞好。这里只讲解对接到android所遇到的坑及跳出坑的方法,废话少说,下面我们开始。

Native方法:

Object b就是传给C++的bitmap对象

由此生成的.h文件

.cpp文件

这里只讲实现Java_com_example_nativeMothed_NativeMothed_nativeGetImage方法,其他类似

使用AndroidBitmapInfo来存储从java层传递过来的Bitmap对象

这句作用是拿到Java层传递过来的Bitmap对象并传递给AndroidBitmapInfo对象存储

这句作用是锁定bitmap对象,让C++环境能直接 *** 作Bitmap对象

这句作用是解锁Bitmap对象,一般对bitmap对象的 *** 作是放在上锁和解锁之间

上面基本是写好的C++源代码直接粘贴,没有遇到上面坑

真正遇到坑是在Application.mk、Android.mk的配置上

先说Application.mk

APP_STL :=gnustl_static 是对标准库的支持(algorithm)

没有这句就会报下面这种错误

APP_CPPFLAGS :=-frtti -fexceptions 是C++代码的编译选项。在android-ndk-1.5_r1版本中,此变量只适用于C++,但是现在可以同时适用于C和C++。

APP_ABI :=armeabi-v7a  在默认情况下,NDK会使用'armeabi' ABI 来生成二进制机器码,这是基于ARMv5TE的浮点运算CPU,这可以通过使用此变量来选项不同的ABI(Application BinaryInterface).

APP_PLATFORM :=android-8 版本平台

下面是Android.mk

首先是

OPENCV_LIB_TYPE:=STATIC

没有这句程序在导入动态链接库的时候就会一直包libopencv_java.so not found (就是这里被卡了好一段时间,坑)

其次是:

Include  E:/OpenCV-2.4.10-android-sdk/sdk/native/jni/OpenCV.mk

之前一直不知道这个有什么用,但是没有就会报Opencv的内置函数不能解析的错误

最后:

LOCAL_LDLIBS+=  -ljnigraphics -lGLESv1_CM

这里报错误最多,摸不着头脑,这里只贴出报的错误

没有-ljnigraphics就报AndroidBitmapInfo对象及方法找不到

没有-lGLESv1_CM就报collect2.exe: error: ld returned1 exit status,貌似是静态连接错误

跨过这些坑后,就一片光明了,接下来的是android的事情了。基本没遇到大坑了。

求怎样使用MATLAB编写图像检索程序

有图像检索的算法,可以实现难度不太大,你可以参考《图像低层特征提取与检索技术》还有《基于内容的图像检索技术》,可先用matlab软件仿真,图像检索的基本原理就是:

(1) 从图像数据库中通过特征选择算法提取主要的显著特征(颜色、边缘、直方图)作为图像的索引;

(2) 根据提取的特征建立特征和图像数据库之间的映射关系;

(3) 检索算法的设计,可以通过待检索图像和图像数据库中的图像特征之间的相似性和距离进行;

(4) 找出相似性和距离最近的图像作为检索结果;

可以用GUI编辑器,按下图数字标号进行:

1、点击打开GUI编辑框

2、随便拉一个控件到编辑框内

3、双击这个控件打开其属性框,找“ButtonDownFcn”点击其后的编辑按钮

4、系统会d出对话框问是选取M还是自动生成,这里点自动生成,在文件模板中对应位置输入“a=1”并保存

5、点击绿箭头运行

6、单击复选框

7、输出结果

注:这里只是给你一个简单的示例,具体的 *** 作可以看MATLAB的帮助文件,搜索GUI,里面有大量的实例。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12019280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存