Articles of android camera

Android-камера takePicture использует предварительный просмотр небольшого буфера

Я разрабатываю проект с использованием OPENCV. У меня есть некоторый процесс на onCameraFrame. Пока он показывает превью, пользователь может сделать снимок. Но в некоторых устройствах я принимаю ошибку после вызова метода takePicture (…). Что мне делать? E/Camera-JNI(11783): Manually set buffer was too small! Expected 539380 bytes, but got 460800! Новый симптом: размер этого буфера – […]

Камера Android: требуется фронтальная или задняя камера

Моему приложению нужна камера для работы. Однако, это не имеет значения, если это задняя или фронтальная камера. Прямо сейчас, у меня это в моем манифесте: <uses-feature android:name="android.hardware.camera"/> Чтобы потребовать фронтальную камеру, я знаю, что я мог бы также добавить это: <uses-feature android:name="android.hardware.camera.front"/> Но я бы хотел поддерживать все устройства, у которых есть камера. Есть какой-либо […]

Отображение потока камеры на GLSurfaceView через SurfaceTexture

Я пытаюсь отобразить поток камеры в GLSurfaceView через SurfaceTexture, переданный в шейдеры OpenGL ES 2.0. Я взял вдохновение из этого поста . Изображение завершено, но на моем планшете отображается неправильно. Экран кажется разделенным на 2×2 части. Изображение отображается в верхней левой части, тогда как остальные три части черные. Я подозреваю, что проблема связана с моим […]

ClassNotFoundException: android.hardware.camera2.CameraAccessException с OpenCV 3.1.0

Я работаю над проектом Android с Android Studio 2.2, в котором используется библиотека OpenCV 3.1.0. Я импортировал библиотеку в соответствии с этим ответом . Ситуация такова: Когда я компилирую проект для устройства с API> = 21 (точно API 23), все идет хорошо. Когда я компилирую проект для устройства с API <21 (точно API 19, минимальный […]

Эквивалент Camera.PreviewCallback в API Camera2

Есть ли какой-либо эквивалент для Camera.PreviewCallback в Camera2 от API 21, лучше, чем сопоставление с SurfaceTexture и вытягивание растрового изображения? Мне нужно убрать данные предварительного просмотра с камеры как YUV?

Android OpenGL комбинация SurfaceTexture (внешнего изображения) и обычной текстуры

Я хотел бы смешать предварительный просмотр камеры SurfaceTexture с некоторой текстурой наложения. Я использую эти шейдеры для обработки: private final String vss = "attribute vec2 vPosition;\n" + "attribute vec2 vTexCoord;\n" + "varying vec2 texCoord;\n" + "void main() {\n" + " texCoord = vTexCoord;\n" + " gl_Position = vec4 ( vPosition.x, vPosition.y, 0.0, 1.0 );\n" + […]

Зеленые изображения при выполнении кодировки JPEG из YUV_420_888 с использованием новой камеры Android2 api

Я пытаюсь использовать новую камеру api. Улавливание пакетов происходило слишком медленно, поэтому я использую формат YUV_420_888 в ImageReader и делаю JPEG в дальнейшем, как это было предложено в следующем сообщении: Вспышка захвата камеры Android2 слишком медленная Проблема в том, что я получаю зеленые изображения, когда пытаюсь кодировать JPEG из YUV_420_888 с использованием RenderScript следующим образом: […]

Конвертировать Android-камеру2 api YUV_420_888 в RGB

Я пишу приложение, которое берет канал камеры, преобразует его в rgb, чтобы выполнить некоторую обработку. Он отлично работает на старой версии камеры, в которой используется формат NV21 Yuv. Проблема, с которой я сталкиваюсь, связана с новым форматом Yuv, YUV_420_888. Изображение больше не преобразуется правильно в RGB в новой Camera2 Api, которая отправляет формат YUV_420_888 yuv […]

Сделайте снимок и конвертируйте в Base64

Я использую код ниже, чтобы сделать снимок с помощью камеры. Вместо сохранения я хотел бы закодировать его на Base64 и после этого передать его другому API в качестве ввода. Я не вижу способа, как изменить код для съемки в Base64 вместо обычных файлов. public class CameraDemoActivity extends Activity { int TAKE_PHOTO_CODE = 0; public static […]

Управление фонариком в Зефир

У меня проблема с камерой в последней сборке Marshmallow, точнее на фонарике. В любой версии с предварительным выпуском Marshmallow все, что мне нужно сделать, чтобы включить / выключить вспышку, было следующее: private void turnFlashOn(final Camera camera, int flashLightDurationMs) { if (!isFlashOn()) { final List<String> supportedFlashModes = camera.getParameters().getSupportedFlashModes(); if (supportedFlashModes != null && supportedFlashModes.contains(Camera.Parameters.FLASH_MODE_TORCH)) { mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); […]