Одним из подходов к этому было бы использование OpenCV, который позволит вам обрабатывать каждый кадр перед его отображением.
Например, метод обратного вызова 'onCameraFrame' дает вам доступ к кадру из вводаисточник, в данном случае камера, перед тем, как ее рендерить.
Несколько предостережений:
- Вы должны убедиться, что обработка, которую вы выполняете, соответствует времени, которое у вас есть междуРамка. Если у вас есть проблема с этим, одним из обходных путей, который может работать в зависимости от вашего варианта использования, может быть тяжелая обработка каждого n-го кадра и использование одного и того же результата для любых промежуточных кадров.
- OpenCV для Androidдокументация по-прежнему основана на Eclispe. Если вы хотите работать с Android Studio, то вам нужно будет провести онлайн-чтение и поиск руководств и советов, а также выпустить обходные пути. В настоящее время их доступно больше, поэтому кажется, что это лучше, чем было в прошлом.
Хороший простой пример, на который следует обратить внимание, - это обнаружение цветовых клубов, которое обнаруживает объект или шарик определенного цвета. каждый кадр: https://github.com/opencv/opencv/tree/master/samples/android/color-blob-detection/src/org/opencv/samples/colorblobdetect