Как применить «фильтры» к AVCaptureVideoPreviewLayer

Мое приложение в настоящее время использует AVFoundation для получения необработанных данных камеры с задней камеры iPhone и отображения их на AVCaptureVideoPreviewLayer в реальном времени.

Моя цель - сделать так, чтобы условно применить простые фильтры изображений к слою предварительного просмотра. Изображения не сохраняются, поэтому мне не нужно записывать результат. Например, Я хотел бы переключить настройку, которая преобразует видео, поступающее в слой предварительного просмотра, в черно-белое.

Я обнаружил здесь вопрос , который, кажется, позволяет добиться чего-то подобного, захватив отдельные видеокадры в buffer, применяя желаемые преобразования, а затем отображая каждый кадр как UIImage. По нескольким причинам это кажется излишним для моего проекта, и я хотел бы избежать любых проблем с производительностью, которые это может вызвать.

Это единственный способ достичь моей цели?

Как я уже упоминал, я не собираюсь захватывать видео AVCaptureSession, я просто просматриваю его.

30
задан Community 23 May 2017 в 12:32
поделиться