我正在创建一个涉及摄像头输入的应用程序(实时视频)。我需要处理每个帧(实时帧),我需要在同一个窗口中显示输出。我在Android中使用JavaCameraView。这是代码的一部分。
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame){
framesRGBA = inputFrame.rgba();
Imgproc.cvtColor(framesRGBA, frameRGB, Imgproc.COLOR_RGBA2RGB);
String ch = HelloJNICPP.checkequal(assetManager,framesRGB.getNativeObjAddr(),resizeFrame.getNativeObjAddr());
return resizeFrame;
}
}
checkequal是JNI函数,它会进行一些处理。实际上,这个函数需要2到3分钟才能完成一个帧。我需要在前一帧完成后处理下一帧。我同意我需要优化checkequal函数。暂时我需要在2到3分钟后阅读下一帧,并在同一个javaCameraView中显示它。怎么实现这个?是可能还是有其他办法吗?