- Рисуем светом: длинная выдержка на Android
- Длинная выдержка
- Теория
- Практика
- Заключение
- Long Exposure Camera
- (Длинная камера экспозиции)
- Long Exposure Camera 1.3.v7a
- Скачать
- Long Exposure Camera 1.4.8
- Скачать
- Long Exposure Camera 2 v3.1 APK+Mod
- How to Take Long Exposure Photos on Android Phones
- What is Long Exposure Photography?
- How to Capture Long Exposure Photos:
- For Phones with 1 sec Shutter Speed:
Рисуем светом: длинная выдержка на Android
Всем привет, меня зовут Дмитрий, и я Android-разработчик в компании «MEL Science». Сегодня я хочу рассказать, как можно реализовать поддержку длинной выдержки на смартфонах, да так, чтобы получающуюся картинку можно было наблюдать прямо в процессе создания. А для заинтересовавшихся в конце статьи я подготовил ссылку на тестовое приложение — чтобы вы могли сами сделать крутое фото с длинной выдержкой.
Длинная выдержка
Выдержка — термин из мира фотографии, который определяет время открытия затвора при съемке. Чем дольше открыт затвор, тем дольше свет экспонирует светочувствительную матрицу. Проще говоря, делает фотографию более яркой. Современные фотоаппараты используют выдержки длинной в 1/2000 cекунды, что позволяет получить освещенную, но при этом не пересвеченную фотографию. Длинная выдержка подразумевает открытие затвора на секунду и больше. При верно выбранной сцене это позволяет получать фантастические фотографии, способные запечатлеть движение света в объективе камеры. Причем фотографировать можно что угодно: ночные улицы с мчащимися машинами или маятник, с укрепленным на нем фонариком, позволяющим выписывать фигуры Лиссажу. А можно вообще рисовать светом самому и получать целые картины-фотографии.
Улицы города, сфотографированные с использованием длинной выдержки
Теория
Для создания эффекта длинной выдержки можно использовать два подхода:
аппаратный — состоит в управлении физическим открытием и закрытием затвора
программный — эмулирует длинную выдержку за счет объединения большого числа обычных кадров
Главным недостатком аппаратного подхода является отсутствие возможности наблюдать за процессом появления фотографии онлайн — результат будет виден лишь после закрытия затвора и формирования изображения. Нарисовать что-либо светом человеку без опыта в таком режиме вряд ли удастся. Еще одним недостатком становится ограничение смартфонов на максимальное время выдержки — на Android оно составляет 30 секунд.
Программная эмуляция позволяет избавиться от всех недостатков ценой усложнения кода.
Практика
Для реализации работы с камерой смартфона будем использовать API CameraX. Это обусловлено ее гибкостью и лаконичностью. Также для программного подхода нам потребуется OpenGL ES для работы с изображениями. Данный выбор был сделан, так как это позволит работать напрямую с изображениями в видео памяти и обеспечить минимальную задержку при записи, так как вся обработка изображений происходит в реальном времени.
Аппаратный подход
Для реализации длинной выдержки средствами камеры, необходимо лишь правильно сконфигурировать usecase фотосъемки. Делается это всего в пару строк, а на выходе мы получаем фотографию с длинной выдержкой.
Для тонкой настройки камеры, используем Camera2Interop который позволяет устанавливать флаги настройки камеры вручную, как в Camera2API. Для активации длинной выдержки помимо установки времени выдержки необходимо также отключить автоэкспозицию, т.к. иначе выдержка будет управляться камерой самостоятельно.
Кстати, для каждой камеры диапазон допустимого интервала выдержки может быть разным, чтобы его узнать необходимо запросить cameraCharacteristics
Программный подход
Для начала определимся с общей идеей нашей реализации.
Нам потребуется буффер для хранения формирующегося изображения, а также регулярно обновляемое изображение с камеры.
Каждый новый кадр будем объединять с хранящимся в буффере, обрабатывая попиксельно и оставляя в буфере пиксель с наибольшей яркостью.
Для того чтобы придать нашим картинкам эффект постепенного исчезновения света можем долго неизменяемые пиксели постепенно затемнять.
Я не буду приводить здесь весь код рендеринга, так как это займет слишком много места. Для желающих код можно найти здесь. Представлю лишь блок схему, объясняющую последовательность действий для получения очередного кадра на экране.
Как видно из схемы, основная магия происходит при объединении 2х кадров: сохраненного в фреймбуфере и полученного с камеры. Рассмотрим шейдер для этой задачи подробнее.
Работа шейдера состоит из нескольких этапов:
К текстуре камеры мы применяем матрицу для получения верной ориентации изображения.
Затем вычисляем яркость пикселя на обоих кадрах
Для того чтобы понять, как правильно объединить пиксели, необходимо вспомнить принцип работы длинной выдержки — “длинная выдержка позволяет свету попадать на матрицу камеры длительное время и сохраняться до конца съемки”. То есть, если в течение процесса фотографии, в разных местах кадра будет появляться свет, то он должен оставаться в кадре до конца. При этом, длительность освещения пикселя не важна, т.к. однажды попавший в кадр свет сохранится до завершения съемки, даже если все остальное время свет на этот пиксель попадать не будет.
Очевидным в таком случае является накопление света за счет сложения значений с последовательных кадров. Однако такое решение позволит снимать лишь в условиях минимальной освещенности и будет приводить к быстрому засвету пикселя. Во избежание данных проблем в качестве способа объединения пикселей была выбрана функция максимума. Она позволяет обновить значение пикселя только, если новый кадр содержит более освещенный пиксель в данной позиции.
Тогда объединение пикселей будет выглядеть вот так:
Попробуем запустить такой код и обнаружим, что эффект длинной выдержки действительно достигается. Вот что получилось.
Длинная выдержка
Однако любая ошибка при рисовании требует перезапуска камеры, т.к. один раз попавший на нее свет уже нельзя стереть! Такое поведение приемлемо при выполнении каких-то заранее спланированных фотографий, но что если мы хотим просто рисовать светом и сохранять изображение, лишь когда нам действительно понравился результат? Перезапускать постоянно камеру совсем неудобно. Значит свет все-таки должен пропадать через какое то время. Этого можно добиться с помощью постепенного затухания ярких пикселей. Чтобы добиться такого эффекта достаточно просто на каждом новом шаге добавлять к каждому пикселю немного черного цвета (чтобы сохранять корректность картинки мы будем добавлять не черный цвет, а просто более темный пиксель из доступных — это позволит и эффект угасания получить и сохранить гамму цветов). Тогда объединение пикселей будет выглядеть следующим образом
Вот несколько примеров с разными коэффициентами и временем затухания света.
Заключение
На этом на сегодня все. Для желающих попробовать самому полный код приложения и apk можно найти здесь.
Источник
Long Exposure Camera
(Длинная камера экспозиции)
Long Exposure Camera 1.3.v7a
Скачать
Long Exposure Camera 1.4.8
Скачать
Тут вы можете скачать АПK-файл «Long Exposure Camera» для Андроид бесплатно, апк файл версии — 1.4.8 для загрузки на ваш андроид просто нажмите эту кнопку. Это просто и безопасно. Мы предоставляем только оригинальные апк файлы. Если какой-либо из материалов на этом сайте нарушает ваши права, сообщите нам
Длительная экспозиция принимает несколько снимков и объединяет их, чтобы они выглядели как длинные фотографии экспозиции. Длительная экспозиция — лучший способ фотографировать людей, бегущих или танцующих позах.
Длительная экспозиция — лучшая бесплатная альтернатива приложениям popoular, таким как фотографии с длительным экспозицией, медленный затвор и камера длительного экспозиции 2
Длительная экспозиция очень проста в использовании:
1. Долгосрочная экспозиция Opne.
2. Сделайте несколько фотографий для длительной экспозиции
3. Задайте продолжительность во время создания фотографий с длительным экспозицией.
4. Измените параметры длительной экспозиции.
5. Используйте фронтальную камеру или камеру заднего вида, чтобы заняться длительной экспозицией или пожилыми людьми в действии.
6. Сделайте снимки длительной экспозиции, когда будете готовы.
7. Сохраняйте длинные снимки в формате JPEG или GIF.
8. Поделитесь фотографиями с длинными фотографиями с друзьями и семьей.
Наслаждайтесь и веселитесь с помощью камеры длительного действия!
Источник
Long Exposure Camera 2 v3.1 APK+Mod
- Имя файла: com.longexposure2
- Версия для загрузки приложения: 3.1
- Цена: 0
- Размер apk: 238 MB
- Скачать: 1000000
- Время последнего обновления: Dec 5, 2015
- цель: 17
- MD5: 9943FBAC4B37D07E93A3B3F171EE185F
- Подпись: 09B2199DDF51B13A73EAB13503B752DA286BE5C8
- SHA256: 5158AAF3FEDD2E28372C7CBCD4B8ECB3C56938F0EB836479FDC5A0CEB5EA8701 ROOT: —> 0 —> Предложения покупки в приложении: —> 0 —>
Новые возможности! Фотографические путь к архиву могут быть изменены.
(Рекомендации с фото из архива пути же телефона.)
Бесплатная версия увеличился с резолюцией 800 * 480
Съемки на длинных выдержках является счастливым вещь, мы стараемся, чтобы телефон может долго подвергать.
Скачать его прямо сейчас, вы найдете процесс длительного воздействия так волшебно.
В разделе «Настройки» в разделе «Разрешение» перечислены все поддерживаемом разрешении
Список Разрешение в полной версии и общей версии являются одинаковыми.
Источник
How to Take Long Exposure Photos on Android Phones
If you are inspired by photos that have a light trail effect, here is how you can capture long exposure photos directly from your Android phone. First thing that comes to mind after viewing light paintings (long exposure shots) is that they must have been captured with a DSLR or Mirrorless camera. That is not entirely the case! Android phones these days are capable of taking some seriously stunning photos and they also have extended functionality that lets you recreate images such as long exposure photos. If you are wondering how, here is a complete guide!
In this tutorial, we will explain to you how to take light trails or long exposure shots with your Android phone’s camera. People usually compare Android flagship phones with each other and judge which camera is best. However, for photography, it also depends on the person behind the lens and not entirely the camera hardware. Thanks to modern day phones, users can easily select all appropriate settings manually for the exact shot they want. Whilst auto mode is perfect for day to day use, Pro / Manual mode does come in handy for creative ideas such as taking these long exposure photos.
What is Long Exposure Photography?
If you are not into photography, let us explain what Long Exposure actually is. Long Exposure is when you take a picture of moving traffic and instead of vehicles, your camera captures the lights of the vehicles and makes them look like long line of light. Technically, it depends on the shutter speed. If your shutter speed is 3 seconds, it will capture everything that has happened in 3 seconds after you press the capture button. The more your shutter speed is, more your phone’s camera will let the light pass through it’s sensor. Below image shows shutter speed UI on an Android device. Remember that, the sign of shutter-setting button depends on your Android phone and you need to be in Pro or Manual mode to adjust shutter speed.
In first image the shutter speed button is shown as “SS“. Tap on it to show the shutter speed. In Second image, the shutter speed can be shown in a camera shutter sign.
Related:
How to Capture Long Exposure Photos:
First you need few standard equipment to capture long exposure shots. You might already have some if not all of the things required. Go through the list below before starting:
- Android Phone with Manual / Pro settings and shutter speed of minimum 1 second. (For reference, all modern day flagships, mid-range and even few entry level devices come with Manual / Pro mode)
- Any standard tripod. For this you, can buy any cheap tripod. Without tripod, your image will be extreme blurry. (Buy it from here or here)
- A tripod clip for your Android phone to mount it on your tripod. (Buy it from here or here)
Once you have gathered all of the things from the list find a place where it is easy to take pictures of running traffic. For us, there was this fence between the highway and sidewalk, so it was perfect. Now follow the steps below to start:
Step 1 – Mount your phone on a tripod.
Step 2 – Make sure the sky is dark and the sun is set.
Note: Sample Images were taken at night time.
Step 2 – Once you are all set for taking long exposure shots and get the best angle for you.
Note: The best angle is when the vehicle is going away from you so you can get the red light trail from the tail lights of a car.
Step 3 – Open the camera app of your Android phone. Now select the manual mode or pro mode to set things according to your need.
Step 4 – Adjust your shutter speed to 4 to 5 seconds
Tip: Turn on the timer to 3 seconds so image captured is perfect
Step 5 – Select your ISO to 50 or 100 at max otherwise you will get a very white image which is not even close to light trails.
Step 6 – At last, tap on the shutter button to take the long exposure.
Step 7 – Wait for the time to end and let the android phone do it’s stuff.
Once the image is processed on your Android phone, it will look something like this:
Taken with LG V20 | f /1.7, Shutter Speed: 5sec, ISO: 200
After that you can edit it accordingly. Below are the long exposure images taken with LG V20 and edited it Adobe Lightroom:
For Phones with 1 sec Shutter Speed:
There are many phones which have might not have what it takes to capture long light trails because they have only 1 second of shutter speed. But there is a way to take a long exposure light trail with 1 second shutter speed. For this there is some editing involved with both Adobe Lightroom and Photoshop. For this procedure, we will use Sony Xperia XZ3 which is last of Sony’s phone that comes with 1 second of shutter speed or exposure time because Sony has released Xperia 1 which has 32 second of exposure time or shutter speed. Now follow the steps below if you have a phone that has 1 second of shutter speed:
Step 1 – Follow all the steps from the process above.
Step 2 – That’s not where this guide ends. Take at least 10 to 20 photos with 1 seconds of shutter speed and 100 ISO. (Don’t forget to turn on the timer)
Step 3 – Now copy all of the taken images on your computer and open them in Adobe Lightroom.
Step 4 – Once they are opened select all of the image and right click on them. Now select Edit in >> Open as Layers in Photoshop. It will open all the images in Photoshop as layers.
Step 5 – Once they are open in Photoshop select all the layers then right click on them and select Convert to Smart Object.
Step 6 – Once you have selected Convert to Smart Object, wait for a little while to complete the process depending on the total number of Images.
Step 7 – After the process you will see that all of layers have now appeared as only one layer. Now click on Layers >> Smart Objects >> Stack Mode >> Mean and wait for it to complete the process.
Step 8 – Once the process is complete, save it through Command + S or Control + S and go back to Lightroom.
Step 9 – The new image that was stacked will now show in Lightroom.
Step 10 – Edit the image according to your need then export it.
Below is the image taken with Sony Xperia XZ3 by using the same process:
Taken with Sony Xperia XZ3 | f/2, Shutter Speed: 1sec, ISO: 50
We hope this process worked well for your device that has a lesser shutter speed!
This was a detailed insight into how to capture Long Exposure photos through setting different shutter speeds. If you run into any problems, make sure to contact us through the comments below!
Источник