他们是Android中的另一个库,提供与OpenCV Library相同的功能 - 2.4.7

时间:2013-11-28 16:52:37

标签: android opencv image-processing camera

我只需计算给定帧的帧差和threashodign 。我目前正在使用OpenCV 库,所以我正在以波纹管方式获取相机框架,但我不想用户OpenCV 任何其他任何库都可以提供帧差异和图像threasholding功能

我的当前代码,用 OpenCV Library 2.4.7

编写
public Mat onCameraFrame(CvCameraViewFrame inputFrames) {
      Mat rgba=inputFrames.rgba();
      Mat inputFrame=inputFrames.gray(); 
  inputFrame.copyTo(current);
  if(first){//first is true at the first time
        inputFrame.copyTo(previous);
        first = false;
        Log.i("First processing", "Pierwszy przebieg");
    }
  Core.absdiff(current, previous, difference);
  inputFrame.copyTo(previous);
  inputFrame=null;
  Mat closed = new Mat();
  Imgproc.threshold(difference, closed, -1, 255, Imgproc.THRESH_BINARY_INV+Imgproc.THRESH_OTSU);
  return closed;
}

我需要另一个库,它在byte []数组上执行帧差和Threasholding 我需要任何代码,函数,类或任何其他库可以执行此任务

       public void onPreviewFrame(byte[] paramAnonymousArrayOfByte, Camera paramAnonymousCamera)  
        { 
                // Frame difference and threasholding code goes here

        } 

1 个答案:

答案 0 :(得分:0)

如果需要将结果作为字节数组是不想使用OpenCV的唯一原因,you can convert a Mat to a byte array with the put method

someMat.put(0, 0, byteArray);

http://docs.opencv.org/java/org/opencv/core/Mat.html