Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的光流_Android_Opencv_Vision_Opticalflow - Fatal编程技术网

Android中的光流

Android中的光流,android,opencv,vision,opticalflow,Android,Opencv,Vision,Opticalflow,我们已经和OpenCV打了两个星期的交道,以使其在Android上工作。 你知道在哪里可以找到光流的Android实现吗?如果它是用OpenCV实现的,那就太好了。试试这个 @覆盖 CameraFrame上的公用Mat(CvCameraViewFrame输入框){ mRgba=inputFrame.rgba(); if(mMOP2fptsPrev.rows()==0){ //Log.d(“Baz”,“首次opflow”); //第一次穿过环路,所以我们需要prev和这个垫子 //加上以前的分数

我们已经和OpenCV打了两个星期的交道,以使其在Android上工作。 你知道在哪里可以找到光流的Android实现吗?如果它是用OpenCV实现的,那就太好了。

试试这个

@覆盖
CameraFrame上的公用Mat(CvCameraViewFrame输入框){
mRgba=inputFrame.rgba();
if(mMOP2fptsPrev.rows()==0){
//Log.d(“Baz”,“首次opflow”);
//第一次穿过环路,所以我们需要prev和这个垫子
//加上以前的分数
//拿这个垫子
Imgproc.cvtColor(mRgba、matOpFlowThis、Imgproc.COLOR_RGBA2GRAY);
//把它复制到上一张纸上
matOpFlowThis.copyTo(matOpFlowPrev);
//获取上一个角
Imgproc.良好特性跟踪(matOpFlowPrev,MOPcorners,iGFFTMax,0.05,20);
mMOP2fptsPrev.fromArray(MOPcorners.toArray());
//拿到这本书的安全副本
mMOP2fptsPrev.copyTo(mMOP2fptsSafe);
}
其他的
{
//Log.d(“Baz”、“Opflow”);
//我们以前也经历过这样的事情
//此mat有效。请将其复制到上一个mat
matOpFlowThis.copyTo(matOpFlowPrev);
//拿这个垫子
Imgproc.cvtColor(mRgba、matOpFlowThis、Imgproc.COLOR_RGBA2GRAY);
//把这个垫子的角弄到手
Imgproc.良好特性跟踪(matOpFlowThis,MOPcorners,iGFFTMax,0.05,20);
mMOP2fptsThis.fromArray(MOPcorners.toArray());
//从上一张垫子中检索角点
//(保存再次计算)
mMOP2fptsSafe.copyTo(mMOP2fptsPrev);
//把这些角落留到下次用
mMOP2fptsThis.copyTo(mMOP2fptsSafe);
}
/*
参数:
前置第一个8位输入图像
下一个第二个输入图像
需要找到流的2D点的prevPts向量;点坐标必须是单精度浮点数。
nextPts 2D点的输出向量(具有单精度浮点坐标),包含第二幅图像中输入特征的计算新位置;当传递OPTFLOW_USE_INITAL_FLOW标志时,向量的大小必须与输入中的大小相同。
状态输出状态向量(无符号字符);如果已找到相应特征的流,则向量的每个元素都将设置为1,否则将设置为0。
err错误的输出向量;向量的每个元素都被设置为对应特征的错误,错误度量的类型可以在flags参数中设置;如果未找到流,则不定义错误(使用status参数查找此类情况)。
*/
calcOpticalFlowPyrLK(matOpFlowPrev、matOpFlowThis、mMOP2fptsPrev、mMOP2fptsThis、mMOBStatus、mMOFerr);
cornersPrev=mMOP2fptsPrev.toList();
cornersThis=mMOP2fptsThis.toList();
byteStatus=mMOBStatus.toList();
y=byteStatus.size()-1;
对于(x=0;x
Openframeworks内置了openCV以及许多其他有趣的库。它有一个非常优雅的结构,我用它和安卓系统一起制作了一个虚拟的鼠标,使用摄像头的运动估计功能

在这里查看android的端口

似乎他们最近增加了对android studio的支持,否则eclipse工作得很好