Core Image

редактировать

Core Image - это технология неразрушающей обработки изображений с точностью до пикселя, практически в реальном времени, в Mac OS X. Реализована как часть платформы QuartzCore Mac OS X 10.4 и более поздних версий, Core Image предоставляет архитектуру на основе плагинов для применения фильтров и эффектов в слое рендеринга графики Quartz. Позже платформа была добавлена ​​в iOS в iOS 5.

Содержание
  • 1 Обзор
  • 2 История и реализация
  • 3 Точность пикселей
  • 4 Поддерживаемые графические процессоры
  • 5 Встроенные фильтры
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Обзор

Core Image абстрагирует процесс манипуляции на уровне пикселей, необходимый при применении фильтра к изображению, что упрощает его для приложений для реализации возможностей преобразования изображений без обширного кодирования. В простой реализации Core Image применяет один фильтр изображения к пиксельным данным заданного источника для создания преобразованного изображения. Каждый фильтр изображения определяет отдельное преобразование или эффект, либо встроенный в Core Image, либо загруженный из плагина, называемого Image Unit. В сочетании с предустановленными или определяемыми пользователем входными параметрами фильтр может применяться к исходным пиксельным данным без их изменения, тем самым обеспечивая неразрушающее редактирование изображения.

Как и Photoshop, Core Image может применить несколько фильтров к одному и тому же источнику изображения. Вместо того, чтобы применять серию фильтров по отдельности, Core Image собирает динамический конвейер команд, так что для достижения кумулятивного эффекта к пиксельным данным нужно применить только одно вычисление. Применение пиксельных операций, связанных с несколькими фильтрами, может осуществляться одновременно и без значительного увеличения времени обработки. Независимо от количества фильтров, Core Image собирает код для этого конвейера команд с помощью оперативного компилятора, который выполняется либо ЦП, либо графическим процессором видеокарты, в зависимости от того, какой из них может выполнять вычисления быстрее.

Фильтры написаны на Core Image Kernel Language, который разделяет подмножество команд с OpenGL Shading Language (GLSL). Когда совместимый графический процессор доступен, компилятор Core Image записывает конвейер инструкций с использованием GLSL, прозрачно обрабатывая буферы и состояния. Хотя отрисовка с помощью графического процессора является предпочтительной, компилятор может работать в резервном режиме ЦП, вместо этого генерируя команды, подходящие для текущей архитектуры ЦП. Резервный режим ЦП использует возможности векторной обработки текущего ЦП или ЦП и поддерживает многопроцессорность. Таким образом, производительность Core Image зависит от возможностей GLSL графического процессора или вычислительной мощности процессора. С помощью поддерживаемого графического процессора большинство эффектов можно визуализировать в реальном времени или почти в реальном времени.

История и реализация

Core Image был представлен в Mac OS X 10.4. Ранние примеры его использования можно найти в эффекте ряби в Dashboard и в приложении Apple для профессиональной цифровой фотографии Aperture. Начиная с Mac OS X 10.5, любое приложение, реализующее Image Kit, может использовать Core Image. Preview и iPhoto являются типичными примерами.

В 2011 году Apple добавила Core Image в iOS в iOS 5.0.

Инструменты Xcode включают Core Image Fun House и Quartz Композитор ; оба используют Core Image.

Точность пикселей

Вся обработка пикселей, обеспечиваемая блоком изображения, выполняется в цветовом пространстве с предварительно умноженным альфа-каналом (RGBA ), сохраняя четыре цветовых канала: красный, зеленый, синий и прозрачность (альфа ). Каждый цветовой канал представлен 32-битным числом с плавающей запятой. Это обеспечивает исключительную глубину цвета, намного большую, чем может воспринимать человеческий глаз, поскольку каждый пиксель представлен 128-битным вектором (четыре 32-битных цветовых канала). Для цветовых пространств с меньшей битовой глубиной модель вычислений с плавающей запятой, используемая Core Image, обеспечивает исключительную производительность, что полезно при обработке нескольких изображений или видеокадров.

Поддерживаемые графические процессоры

Любые программируемый графический процессор, который поддерживает необходимые команды OpenGL Shader (GLSL ), поддерживает Core Image. Apple использовала следующие видеокарты для поддержки обработки Core Image GPU в Mac OS X 10.4 и Aperture, поэтому следующий список можно рассматривать как пример минимальных требований:

  • ATI Mobility Radeon 9700 (Mobility Radeon 9600 также поддерживает)
  • ATI Radeon 9550, 9600, 9650, 9600 XT, 9600 Pro, 9700 Pro, 9800 XT и 9800 Pro
  • ATI Radeon X600 XT, X600 Pro, X800 XT, X850 XT, X1600, X1900 XT
  • ATI Radeon HD 2400 XT, HD 2600 Pro и HD 2600 XT
  • NVIDIA GeForce FX 5200 Ultra, FX Go 5200
  • NVIDIA GeForce 6600, 6600 LE, 6800 Ultra DDL и 6800 GT DDL
  • NVIDIA GeForce 7300 GT, 7600 GT и 7800 GT
  • NVIDIA GeForce 8600M GT и 8800 GT
  • NVIDIA GeForce 9400M и 9600M GT
  • NVIDIA GeForce GT 120 и GT 130
  • NVIDIA GeForce GTX 285
  • NVIDIA Quadro FX 4500 и FX 5600
  • NVIDIA Quadro FX 4800
  • NVIDIA Quadro 4000
  • NVIDIA GeForce 320M
  • NVIDIA GeForce GT 330M
  • NVIDIA GeForce GT 640M
  • NVIDIA GeForce GT 650 M
  • NVIDIA GeForce GTX 660M
  • NVIDIA GeForce GTX 675M
  • NVIDIA GeForce GTX 680MX
  • NVIDIA GeForce GT 750M
  • NVIDIA GeForce GT 755M
  • NVIDIA GeForce GTX 775M
  • NVIDIA GeForce GTX 780M
  • Intel GMA 900, GMA 950 или GMA X3100
  • Intel HD Graphics 3000 (Sandy Bridge)
  • Intel HD Graphics 4000 (Ivy Bridge)
  • Intel HD Graphics 5000 (Haswell)
  • Intel Iris 5100 ( Haswell)
  • Intel Iris Pro 5200 (Haswell)
  • Intel HD Graphics 5300 (Broadwell)
  • Intel HD Graphics 6000 (Broadwell)
  • Intel Iris 6100 (Broadwell)

Обратите внимание, что любой графический процессор, способный обрабатывать инструкции Core Image, также поддерживает Quartz Extreme. Требования к Core Image выше, чем у Quartz Extreme.

Встроенные фильтры
Логотип Wikipedia с примененными единицами изображения «Цветной монохромный», «Плитка параллелограмма» и «Щипковое искажение»

macOS включает множество встроенных фильтров, включая следующие. Mac OS X 10.4 представила более 100 из них, а Mac OS X 10.5 добавила в список.

  • Размытие, например медиана, гаусса, движение и шум
  • Регулировки цвета и эффекты, такие как экспозиция, гамма Регулировка и оттенок сепии
  • Операции композиции, такие как Сложение и Умножение переходов, или Жесткий свет
  • Искажения, такие как сжатие, всплески круга и вихрь
  • Генераторы, такие как Star Shine и Lenticular Halo
  • Настройки геометрии, такие как Crop, Scale, Rotate и Affine transformation
  • Фильтры полутонов, мозаики и постеризации
  • Переходы, такие как Dissolve и Ripple

Веб-сайт документации с открытым исходным кодом для встроенных фильтров Core Image поддерживается по адресу CIFilter.io.

См. также
Refe Ренс
Внешние ссылки
Последняя правка сделана 2021-05-15 12:21:33
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте