Основной образ - Core Image

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

Обзор

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

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

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

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

Core Image был представлен с Mac OS X 10.4.[9]Ранние примеры его использования можно найти в Волновой эффект в Приборная панель и приложение Apple для профессиональной цифровой фотографии, Диафрагма.[10] Начиная с Mac OS X 10.5, любое приложение, реализующее Image Kit, может использовать Core Image.[11] Предварительный просмотр и iPhoto являются общими примерами.

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

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

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

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

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

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

  • 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 650M
  • 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, также Кварц Экстрим способный. Требования к Core Image выше, чем к Quartz Extreme.[13]

Встроенные фильтры

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

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

  • Размытие, например медиана, гауссово, движение и шум
  • Регулировка цвета и эффекты, такие как экспозиция, регулировка гаммы и оттенок сепии
  • Операции композиции, такие как сложение и Умножить смеси, или Жесткий свет
  • Искажения, такие как Pinch, Circle Splash и Vortex
  • Генераторы, такие как Star Shine и Lenticular Halo
  • Настройки геометрии, такие как обрезка, масштаб, поворот и Аффинное преобразование
  • Фильтры полутонов, мозаики и постеризации
  • Переходы, такие как Dissolve и Ripple

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

Смотрите также

Рекомендации

  1. ^ «Центр разработки для Mac - Введение в руководство по программированию основных образов». Получено 20 сентября, 2009.
  2. ^ а б «Отличия API iOS 5.0». Получено 14 сентября, 2012.
  3. ^ а б c «Apple - Разработчик - Разработка с использованием Core Image». Получено 20 сентября, 2009.
  4. ^ «Центр разработки для Mac - Введение в руководство по программированию основных образов - Фильтрация клиентов и создателей фильтров». Получено 20 сентября, 2009.
  5. ^ «ArsTechnica - Mac OS X 10.4 Tiger - стр. 15». Получено 20 сентября, 2009.
  6. ^ «Центр разработки для Mac - Справочник по языку ядра изображений - Введение». Получено 20 сентября, 2009.
  7. ^ «Центр разработки для Mac - Руководство по программированию основного образа - Основные понятия образа ядра - Образ ядра и графический процессор». Получено 20 сентября, 2009.
  8. ^ «ArsTechnica - Mac OS X 10.4 Tiger - стр. 15». Получено 17 апреля, 2007.
  9. ^ «Центр разработки для Mac - Руководство по программированию основных образов - Основные концепции образов». Получено 20 сентября, 2009.
  10. ^ а б «Apple - Aperture - Технические характеристики». Получено 20 сентября, 2009.
  11. ^ «Mac Dev Center - Руководство по программированию Image Kit - Введение в Руководство по программированию Image Kit». Получено 20 сентября, 2009.
  12. ^ «Центр разработки для Mac - Руководство по программированию основных изображений - Основные понятия изображений - Цветовые компоненты и предварительно умноженный альфа-канал». Получено 20 сентября, 2009.
  13. ^ а б «Mac OS X 10.4 - Требования для Quartz Extreme и Core Image Graphics». Получено 20 сентября, 2009.
  14. ^ «Центр разработки для Mac - Справочник по фильтрам основных изображений». Получено 20 сентября, 2009.

внешняя ссылка