Delay between Gray and RGBA Mat of frame in OpenCV4Android Tutorial1 (Bug #3096)
Description
Hi!
It seems, that there is a delay (~1 frame) between Gray and RGBA Mat of frame in onCameraFrame method:
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
Mat rgbaFrame = inputFrame.rgba();
Mat grayFrame = inputFrame.gray();
Mat renderFrame = new Mat(grayFrame.size(), grayFrame.type());
Mat grayConverted = new Mat(grayFrame.size(), grayFrame.type());
Imgproc.cvtColor(rgbaFrame, grayConverted, Imgproc.COLOR_RGBA2GRAY);
Core.absdiff(grayFrame, grayConverted, renderFrame);
return renderFrame;
}
This code should displays mostly gray image without totally white areas, but it shouldn't (just replace original onCameraFrame() from Tutorial1). To reproduce, run it and shake your device a little (on 1-3 degree). Reproduced on HTC Desire X, Android 4.1.1 (with Java camera).
History
Updated by Daniil Osokin over 11 years ago
Looks like
inputFrame.gray();
returns Mat with data pointer to memory of camera buffer, so memory buffer can be changed by camera during processing.
Updated by Kirill Kornyakov over 11 years ago
- Target version changed from 2.4.6 to 2.4.7
Updated by Daniil Osokin over 11 years ago
This bug is fixed in current 2.4.
- HW Platform set to ARM
- Operating System set to Android
- Status changed from Open to Done