Реализация фильтров Core Image для iOS включает категорию фильтров CICategoryVideo, которые предположительно могут использоваться для обработки видеопотока в реальном времени. Это означает, что существует рабочий процесс, достаточно быстрый, чтобы взять кадр видео, применить к нему один или несколько фильтров, а затем передать полученный кадр для отображения / сохранения.
Кто-нибудь знает образец проекта, иллюстрирующий, как это делается? Все, что я сделал до сих пор с CIFilters, - это преобразовал UIImage в CIImage, обработал его с помощью CIFilter, а затем преобразовал обратно в UIImage для отображения.
Я предполагаю, что для использования фильтра CI в потоке обработки видео вы должны использовать пиксельные буферы Core Video, сопоставить их с CIImages, обработать их, а затем отобразить результаты обратно в буфер пикселей. Я проделал этот тип обработки с помощью OpenGL и даже преобразовал кадры видео в CIImages для обнаружения лиц в видеопотоке, но не знаю, как вернуть результат CIFilter обратно в pixelBuffer достаточно быстро, чтобы не отставать от частота кадров видео.