刚上研究生,导师的方向是计算机视觉,目前在做图像物体跟踪方面的工作,因为某种原因,需要将在C++平台上是某些功能,在移动平台上实现,作为一个小型的练手项目,又因为对于JNI开发不是特别熟悉,所以想大部分用java实现功能。(该方法已经被老师否决了,不过因为前期还是做了一些相关的工作,还是记录一下)
实现如下的功能,利用opencv提供给java的包,重载oncamera这个函数,处理相机输入帧实现的。
但是还存在着以下的问题:
1.因为测试手机相机的分别率是720720,而在处理完两张mat中特征点后得到的result是7201440的,导致需要尝试多次才能成功显示如图所示的结果。后期还寻找相关android opencv对于摄像头使用的相关资料。
2.因为1的缘故,重新将匹配完特征点的图像提取出来,在Imagegine中静态显示,然后利用button控制,做假摄像头。就是第二张图的效果。
在android studio开发中遇到的一些问题与解决方法:
(1)Android Studio在打开安卓模拟器的时候遇到错误提示:
Vx-T unabled.
解决方法:进入计算机的BIOS模式,将Intel Virtualization Technology由unabled变为enabled
(2)在运行Android Studio的时候,遇到错误提示:
Bulid Command failed.Error while executing process D:\android_studio_sdk…
解决办法:将这个android_studio_sdk变为sdk,该错误就会被修正,程序正常运行。
(3)Android Studio在建立新的项目时候出现错误提示:
程序包android.hardware.camera2不存在
解决办法:AS->file->project strcture->opencvlibrary->修改complie sdk version到21以上。
学习过程中借鉴了这本书的相关例程 https://blog.youkuaiyun.com/jia20003/article/details/80938046