Core Image

Core Image

Core Image est une interface de programmation précise et non-destructive dédiée au traitement et à l'affichage dans Mac OS X. Faisant partie du framework QuartzCore, il étend les capacités d'affichage de Quartz avec son architecture à base de plugiciels pour gérer les filtres et autres effets[1],[2].

Sommaire

Détails

Core Image est conçu pour abstraire les manipulations d'images aux logiciels sans nécessiter de code dédié à chaque matériel. Core Image fonctionne en appliquant le traitement d'une (ou plusieurs) Image Unit à chaque pixel d'une image, créant ainsi le rendu d'une nouvelle image transformée. Chaque image unit définie un filtre, une transformation ou tout autre effet qui peut être appliqué au pixel de l'image d'origine sans modifier les données initiales. De cette façon, Image Units permet l'édition non-destructive des images[3].

Comme les filtres Photoshop, un Image Unit peut être appliqué en parallèle d'autres. Core Image peut mettre en place une queue de traitement à la volée de telle sorte qu'un seul calcul soit appliqué au pixel pour rendre les multiples effets. Il en résulte que plusieurs Image Units peuvent être appliqués à une image sans nécessiter trop de temps de calcul supplémentaire. Core Image utilise un compilateur juste-à-temps pour créer le code qui effectue les opérations associées à une ou plusieurs Image Units de chaque pixel. Le code est alors exécuté soit par le processeur centrale soit par le processeur de la carte graphique, en fonction de celui qui peut exécuter le-dit code le plus rapidement[4].

Lorsqu'un processeur graphique compatible est disponible, le compilateur de Core Image génère un code en utilisant des instructions issue du langage OpenGL[5]. Si le GPU supporte ce langage, il sera utilisé en priorité par Core Image. Si ce n'est pas le cas, le compilateur fonctionnera en mode dégradé en utilisant le processeur central, générant des instructions adéquates pour le processeur de l'ordinateur[2]. Cette fonctionnalité utilise les capacités de calcul vectoriel des processeurs (graphiques ou centraux) et prend en charge les multi-processeurs. Les performances de Core Image dépendent donc de la capacité de gestion du langage OpenGL du processeur graphique ou de la puissance de calcul du processeur central. Avec un processeur graphique supporté, la plupart des effets peuvent être rendus en temps-réel ou avec un léger décalage par rapport au temps-réel[6].

Histoire

Core Image est inclus depuis Mac OS X v10.4[7]. Core Image Fun House et Quartz Composer, inclus les Developer Tools, l'utilisent. L' effet goutte d'eau du Dashboard utilise un filtre Core Image. Aperture est un exemple d'application qui utilise quasiment uniquement Core Image[8].

Au pixel près

Tous les traitements de pixels fournit par une Image Unit sont effectués dans un espace de couleur alpha pré-multiplié, stoquant quatre canals de couleur : rouge, vert, bleu et la transparence alpha. Chaque canal de couleur est représenté par un flottant de 32b. Ceci permet une profondeur de couleur exceptionnelle, grandement supérieure à ce qui peut être perçu par l'oeil humain, chaque pixel étant représenté par un vecteur de 128b (quatre canaux de 32b). Pour les espaces colorimétriques moins profonds, le modèle de calcul à virgule flottante utilisé par Core Image est d'une performance exceptionnelle, ce qui est utile lors du traitement de plusieurs images (y compris les images fixes issues d'une vidéo)[3],[9].

Processeurs graphiques supportés

N'importe quel processeur graphique qui gère les commandes OpenGL nécessaires est capable de traiter les instructions Core Image. Apple a utilisé les cartes graphiques suivantes pour supporter Core Image en mode "commandes OpenGL"[10],[11]:

  • ATI Mobility Radeon 9600, 9700, or X1600
  • ATI Radeon 9550, 9600, 9650, 9600 XT, 9600 Pro, 9700 Pro, 9800 XT, and 9800 Pro
  • ATI Radeon X600 XT, X600 Pro, X800 XT, X850 XT, X1600, X1900 XT
  • NVIDIA GeForce FX 5200 Ultra, 6600, 6600 LE, 6800 Ultra DDL, and 6800 GT DDL
  • NVIDIA GeForce 7300 GT, 7600 GT, and 7800 GT
  • NVIDIA Quadro FX 4500
  • NVIDIA GeForce 9400M
  • NVIDIA GeForce 9600M GT
  • Intel GMA 900
  • Intel GMA 950
  • Intel GMA X3100

Les processeurs graphiques capables d'être utilisés par Core Image peuvent aussi être utililsés par Quartz Extreme. Les besoins de Core Image sont plus grands que Quartz Extreme[10].

Image Units

Mac OS X 10.4 inclus une centaine d' Image Unit en standard, y compris [7]:

  • Flous médian, gaussien, de bougé et de zoom
  • Réduction de bruit
  • Ajustement des couleurs : Exposition, gamma, saturation et balance des blancs
  • Distorsions : pincement, trou, déplacement, vitre, tore, lentille, tourbillon
  • Générateurs : scintillement d'étoile, rayon de soleil, damier, halo de lentille
  • Décalage de couleur : brulé, foncé, delta, exclusion lumière dure, saturation, adoucissement, luminosité multiplication, surimpression
  • Géométrie : découpe, mise à l'échelle, rotation, transformation affine
  • Filtres de style, carreaux, demi-tons
  • Transitions : balayage, flash, retournement de page, photocopieuse, désintégration et dissolution

Références

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Core Image de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать курсовую

Regardez d'autres dictionnaires:

  • Core image — Architecture Graphique de Mac OS X Affichage QuickDraw • Core OpenGL • Quartz 2D Core Image • Core Animation • Core Video ColorSync • QuickTime Composition …   Wikipédia en Français

  • Core Image — ist eine Bildverarbeitungs API in Mac OS X. Als ein Bestandteil der QuartzCore Bibliothek, erweitert es die Darstellungsfunktionen von Quartz mit einer Plugin basierten Architektur für Filter und Effekte. Inhaltsverzeichnis 1 Überblick 2… …   Deutsch Wikipedia

  • Core Image — Mac OS X graphics model Rendering QuickDraw • Core OpenGL Quartz 2D • Core Image Core Animation • …   Wikipedia

  • Core Animation — (Графическая модель Mac OS X) Тип System Utility Разработчик Apple Inc. Операционная система Mac OS X Лицензия Проприетарн …   Википедия

  • Core Data — Developer(s) Apple Inc. Stable release 3.2.0 Operating syst …   Wikipedia

  • Core Audio — Developer(s) Apple Inc. Stable release 3.2.6 Operating system Mac OS X, iOS …   Wikipedia

  • Core Foundation — (also called CF) is a C application programming interface (API) in Mac OS X iOS, and is a mix of low level routines and wrapper functions. Apple releases most of it as an open source project called CFLite that can be used to write cross platform… …   Wikipedia

  • Core Video — est le composant de traitement vidéo utilisé par QuickTime dans Mac OS X pour s interfacer avec les couches de rendu et de composition dans son architecture graphique. Il fournit les images issues de QuickTime et des autres sources aux autres… …   Wikipédia en Français

  • Core Animation — est une interface de programmation de visualisation de données utilisée par Mac OS X v10.5 et l iPhone pour produire des interfaces utilisateurs animées[1]. Sommaire 1 Détails 2 Histoire …   Wikipédia en Français

  • Core Text — is a Core Foundation style API in Mac OS X, first introduced in Mac OS X 10.4 Tiger, made public in Mac OS X 10.5 Leopard, and introduced for the iPad with iPhone SDK 3.2. Exposing a C API, it replaces the text rendering abilities of the now… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”