Что такое видоискатель в фотоаппаратах, их варианты
Видоискатель камеры — это то, что позволяет видеть изображение, которое вы собираетесь запечатлеть. Существуют различные типы видоискателей, используемых на различных цифровых камерах, доступных сегодня. При покупке новой камеры, важно знать, какой тип видоискателя вам нужен.
Видоискатель расположен в верху задней части цифровой камеры, и вы смотрите через него, чтобы скомпоновать сцену.
Имейте в виду, что не все цифровые камеры имеют видоискатель. Некоторые компактные камеры не имеют видоискателя, и вы должны использовать ЖК — экран, чтобы составить композицию.
С камерами, которые имеют видоискатель, вы почти всегда можете его использовать для композиции кадра или в режиме live-view («живой просмотр») – ЖК — дисплей.
Использование видоискателя вместо ЖК-экрана имеет несколько преимуществ:
- Видоискатель использует меньше энергии и меньше расходует батарею.
- Видоискатель позволяет уменьшить вибрации, потому что вы держите камеру ближе к телу.
- Видоискатель заставляет вас почувствовать себя настоящим фотографом!
После того как вы привыкаете к использованию видоискателя камеры зачастую получается изменить настройки камеры инстинктивно, не глядя на ЖК-дисплей.
Есть три различных типа видоискателей цифровой камеры
Оптический видоискатель (на цифровой компактной камере)Это относительно простая система, в которой оптический видоискатель увеличивает масштаб картинки с такой же кратностью, что и объектив камеры.
Его оптическая ось проходит параллельно с объективом, поэтому он показывает вам не совсем то, что находится в кадре.
Видоискатель на компактной камере, как правило, достаточно мал, и как правило отображает только около 90% того, что матрица будет на самом деле захватывать. Это известно, как «ошибка параллакса», и это наиболее очевидно, для предметов, расположенных близко к камере.
Во многих ситуациях, является более точным, чтобы использовать ЖК-экран.
Зеркалки используют зеркало и пента призму, и это означает, что ошибки параллакса быть не может. Оптический видоискатель зеркалки показывает то, что будет проецироваться на датчик. Это называется технологией TTL.
В видоискателе также отображается строка состояния вдоль нижнего края, которая показывает экспозицию информацию о настройках камеры. В большинстве цифровых зеркальных камерах вы также имеете возможность выбирать различные точки автофокусировки, которые проявляются как маленькие квадратики избирательно подсвеченные.
Электронный видоискатель (на цифровой компактной камере)Электронный видоискатель, часто сокращается до EVF, также использует TTL технологии.
Он работает подобным образом как ЖК-экран на компактных камерах, и показывает изображение проецируемое на датчик объективом. Это происходит в реальном времени, хотя могут быть некоторые задержки.
Технически, э0лектронный видоискатель небольшой ЖК-дисплей, но он повторяет эффект видоискателя, как на зеркалках. EVF также не страдает от ошибок параллакса.
Некоторые EVF видоискатели также дают вам представление о различных функциях и исправлениях, которые камера собирается использовать. Вы можете видеть, выделять области, определяющие точку фокусировки или можно с имитировать размытие движения.
EVF может также повысить автоматически яркость в темных сценах.
Видоискатель фотоаппаратов
Категория: Бытовые товары
Видоискатель (визир) -— оптическое устройство, служащее для определения границы изображаемого в кадре пространства. Для правильного определения границ кадра необходимо, чтобы угловое поле зрения видоискателя (визира) соответствовало угловому полю зрения объектива, а оптическая ось визира совпадала с оптической осью объектива.
Существует два вида видоискателей: зеркальные и незеркальные.
Зеркальный видоискатель позволяет одновременно с определением границ кадра выполнять и наводку объектива на резкость. Основу зеркального видоискателя составляет подвижное зеркало, которое установлено под углом к оптической оси объектива между объективом и фотопленкой (см.
рис.).
Свет от объекта съемки, проходя через объектив, попадает на зеркало, которое направляет лучи на коллективную линзу с матовым стеклом (фокусирующий экран). Коллективная линза служит для того, чтобы направить в окуляр световые лучи от всей площади матового стекла.
При срабатывании затвора специальный механизм поднимает зеркало, при этом свет от объекта съемки проходит к фотопленке. По окончании работы затвора зеркало опускается в рабочее положение.
Изображение объекта, полученное на матовом стекле коллективной линзы, рассматривается через пентапризму — изготовленный из оптического стекла пятигранник, который преобразует перевернутое (зеркально обращенное) изображение в изображение прямое, привычное для нашего зрения.
Зеркальный видоискатель хорошо согласуется со сменными объективами, имеющими различное фокусное расстояние. Он дает изображение без параллакса (обычного для видоискателей телескопических), так как объект съемки рассматривается через объектив фотоаппарата.
Нвзеркалъный телескопический видоискатель состоит из отрицательной (рассеивающей) линзы прямоугольной формы, которая ограничивает поле зрения, и положительной (собирательной) линзы, служащей окуляром. Эти линзы укреплены на определенном расстоянии друг от друга (см. рис.). Для определения границ кадра в телескопическом видоискателе используют подсвеченную кадровую рамку. Изображение кадровой рамки вводится в поле зрения видоискателя с помощью зеркала с полупрозрачным отражающим покрытием и полупрозрачного зеркала. При этом глаз одинаково резко видит как фотографируемый предмет, так и рамку.
Такие видоискатели имеют существенный недостаток — несовпадение оси видоискателя с оптической осью объектива фотоаппарата, в результате чего в данном видоискателе изображение не совпадает с оптическим изображением на светочувствительной пленке, находящейся в фотоаппарате. Это явление называется параллаксом (см.
рис.), и его приходится учитывать при определении границ кадра. Параллакс отсутствует при съемке бесконечно удаленных объектов, но появляется и возрастает по мере сокращения расстояния до объекта съемки. Для исключения параллакса кадровая рамка может иметь параллактическую отметку, указывающую наименьшее расстояние до объек та съемки.
: Представляем видоискатель камеры
Синхронизируйте свой проект. Теперь вы сможете напрямую использовать CameraViewfinder как и любой другой вид. Например, вы можете добавить его в свой файл макета:
|
Как видите, CameraViewfinder имеет те же элементы управления, что и PreviewView, поэтому вы можете выбирать разные режимы реализации и типы масштабирования.
Теперь, когда компонент является частью макета, вы по-прежнему можете создать CameraCaptureSession, но вместо предоставления TextureView или SurfaceView в качестве целевых поверхностей используйте результат requestSurfaceAsync().
fun startCamera(){ Futures.addCallback(surfaceListenableFuture, object : FutureCallback |
Bonus: optimized layouts for foldable devices
CameraViewFinder is ready-to-use across resizable surfaces, configuration changes, rotations, and multi -оконные режимы, и он был протестирован на многих складных устройствах.
Но если вы хотите реализовать оптимизированные макеты для складных устройств и устройств с двумя экранами, вы можете объединить CameraViewFinder с библиотекой Jetpack WindowManager, чтобы предоставить вашим пользователям уникальные возможности.
Например, вы можете не отображать предварительный просмотр в полноэкранном режиме, если в середине экрана есть шарнир или если устройство находится в режиме «книга» или «настольный». В этих сценариях вы можете расположить видоискатель в одной части экрана, а элементы управления — в другой, или вы можете использовать часть экрана для отображения последних сделанных снимков. Воображение — это предел!
Пример приложения уже оптимизирован для складных устройств, и здесь вы можете найти код для обработки изменений позы. Взглянуть!
Автор: Франческо Романо, инженер по связям с разработчиками, Android За прошедшие годы Android-устройства эволюционировали, и теперь они включают в себя различные размеры, формы и дисплеи, а также другие функции. Однако с самого начала фотографирование с помощью телефона было одним из наиболее важных вариантов использования. Сегодня возможности камеры по-прежнему являются одной из главных причин, по которой потребители покупают телефон.
Как разработчик, вы хотите использовать возможности камеры в своем приложении, поэтому решили внедрить Android Camera Framework. Первый вариант использования, который вы хотите реализовать, — это вариант использования «Предварительный просмотр», который показывает выходные данные датчика камеры на экране.
Итак, вы идете вперед и создаете CaptureSession, используя поверхность размером с размер экрана. Пока экран имеет то же соотношение сторон, что и выход датчика камеры, и устройство остается в своей естественной портретной ориентации, все должно быть в порядке.
Но что происходит, когда вы изменяете размер окна, разворачиваете устройство или меняете дисплей или ориентацию? Что ж, в большинстве случаев предварительный просмотр может выглядеть растянутым, перевернутым или неправильно повернутым.
Почему это происходит? Из-за неявных предположений, которые вы сделали при создании CaptureSession.
Исторически сложилось так, что ваше приложение могло находиться в одном и том же окне на протяжении всего своего жизненного цикла, но с появлением новых форм-факторов, таких как складные устройства, и новых режимов отображения, таких как многооконный и многоэкранный, вы не можете предположить, что это произойдет. быть правдой больше.
В частности, давайте рассмотрим некоторые из наиболее важных соображений при разработке приложения, ориентированного на различные форм-факторы:
Давайте рассмотрим некоторые распространенные ошибки, которых следует избегать при разработке приложения для различных форм-факторов:
- Не думайте, что ваше приложение будет работать в вертикальном окне. Запрос фиксированной ориентации по-прежнему поддерживается в Android 13, но теперь у производителей устройств может быть возможность переопределить запрос приложения на предпочтительную ориентацию.
- Не предполагайте никаких фиксированных размеров или пропорций для вашего приложения . Даже если вы установите resizableActivity = «false», ваше приложение все равно можно будет использовать в многооконном режиме на больших экранах (>=600dp).
- Не предполагайте фиксированную связь между ориентацией экрана и камеры . Документ определения совместимости с Android указывает, что датчик изображения камеры «ДОЛЖЕН быть ориентирован так, чтобы длинный размер камеры совпадал с длинным размером экрана». Начиная с уровня API 32, клиенты камеры, которые запрашивают ориентацию на складных устройствах, могут получать значение, которое динамически изменяется в зависимости от состояния устройства/сгиба.
- Не думайте, что размер вставки не может измениться . Новая панель задач сообщается приложениям как вставка, и при использовании навигации с помощью жестов панель задач может быть скрыта и отображена динамически.
- Не думайте, что ваше приложение имеет монопольный доступ к камере.
Пока ваше приложение находится в многооконном режиме, другие приложения могут получить доступ к общим ресурсам, таким как камера и микрофон.
Хотя CameraX уже обрабатывает большинство описанных выше случаев, реализация предварительного просмотра, работающего в различных сценариях с API-интерфейсами Camera2, может быть сложной, как мы описываем в разделе Поддержка поверхностей с изменяемым размером в вашем приложении камеры Codelab.
Разве не было бы здорово иметь простой компонент, который позаботится об этих деталях и позволит вам сосредоточиться на логике конкретного приложения?
Больше ни слова…
CameraViewfinder — это новый артефакт из библиотеки Jetpack, который позволяет быстро реализовать предварительный просмотр камеры с минимальными усилиями. Он внутренне использует TextureView или SurfaceView для отображения канала камеры и применяет к ним необходимые преобразования для правильного отображения видоискателя. Это включает в себя исправление их соотношения сторон, масштаба и поворота. Он полностью совместим с вашей существующей кодовой базой Camera2 и постоянно тестируется на нескольких устройствах.
Давайте посмотрим, как его использовать.
Сначала добавьте зависимость в файл build.gradle уровня приложения:
.реализация «androidx.camera:camera-viewfinder:1.3.0-alpha01» |
Синхронизируйте свой проект. Теперь вы сможете напрямую использовать CameraViewfinder как и любой другой вид. Например, вы можете добавить его в свой файл макета:
|
Как видите, CameraViewfinder имеет те же элементы управления, что и PreviewView, поэтому вы можете выбирать разные режимы реализации и типы масштабирования.
Теперь, когда компонент является частью макета, вы по-прежнему можете создать CameraCaptureSession, но вместо предоставления TextureView или SurfaceView в качестве целевых поверхностей используйте результат requestSurfaceAsync().
fun startCamera(){ Futures. addCallback(surfaceListenableFuture, object : FutureCallback |