Aplikacja zatrzymuje się, gdy używasz Vector <Mat> lub List <Mat> w OpenCV dla Androida
Używam biblioteki OpenCV do projektu na Androida. Rzecz w tym, że gdy chcę rozdzielić obraz na 3 kanały (chcę pracować tylko z zielonym kanałem), deklarujęList<Mat>
w celu wykorzystaniasplit()
metoda:
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
input = inputFrame.rgba();
Vector<Mat> channels = new Vector<Mat>(3);
Core.split(input, channels);
canny = channels.get(1);
/*
other code
*/
return canny;
}
Problem polega na tym, że w ciągu 20-30 sekund (w zależności od rozdzielczości kamery) mój telefon kończy się w pamięci i zamyka aplikację. Jak mogę czyścić pamięć za każdym razemonCameraFrame
jest nazywany?
Dzięki