我只需计算给定帧的帧差和threashodign 。我目前正在使用OpenCV 库,所以我正在以波纹管方式获取相机框架,但我不想用户OpenCV 任何其他任何库都可以提供帧差异和图像threasholding功能
我的当前代码,用
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
}
答案 0 :(得分:0)
如果需要将结果作为字节数组是不想使用OpenCV的唯一原因,you can convert a Mat to a byte array with the put method:
someMat.put(0, 0, byteArray);