Vincent Nozick

All RGB

image

Ce projet consite à transformer une image source en une image transformée contenant une et une fois chaque triplet de couleur RGB. L'image à tranformer devra avoir la résolution suivante : 4096 x 4096 pixels.

Voici un exemple (50 Mo) :

image (50 Mo)

Vous pouvez utiliser le langage de votre choix, et les outils de votre choix. Il est évidement interdit de copier les solutions (souvent mauvaises) trouvées sur internet.

Ajout de flou de profondeur de champs

Ce projet consite à ajouter du flou de profondeur de champs sur une image qui n'en a pas. Il existe diverses façons d'y parvenir.
  • La plus simple étant de faire manuellement une carte de profondeur de l'image : à chaque pixel de cette carte correspond une valeur, entre 0 et 255, représentant la profodeur dans la scène du pixel correspondant sur l'image originale. Ensuite, on applique sur chaque pixel de l'image originale un flou dont la puissance dépend de la profondeur associée au pixel, ainsi qu'à la profondeur de focus sélectionnée par l'utilisateur.
  • Il existe d'autres approches plus performantes, comme celle de Kass.


Voici un exemple de ce qu'on peut obtenir :

image (50 Mo) image (50 Mo) image (50 Mo)

Vous pouvez utiliser le langage de votre choix, et les outils de votre choix. Il est évidement interdit de copier les solutions (souvent mauvaises) trouvées sur internet.

Egalisation exacte d’histogramme

Le but de ce projet est de réaliser une méthode permettant de transformer une image en niveaux de gris ([0, 1, …, 255]) pour obtenir une image dont l'histogramme est complètement plat. On suppose le nombre de pixels de l'image comme étant un multiple de 256. Les méthodes automatiques ne différencient pas les pixels de même intensité et par conséquent ne peuvent pas aboutir à un tel histogramme plat.

Une solution possible consiste à établir un ordre strict des pixels selon leur intensité, mais aussi en considérant l'intensité de leurs voisins. A partir de cet ordre, l'égalisation peut être réalisée en regroupant les pixels selon leur ordre : les n premiers se verront attribuer l'intensité 0, les n seconds, l'intensité 1, ... de telle sorte que chaque groupe ait le même nombre de pixels.

Voici un exemple (originale / egalisation classique / égalisation exacte) :

image image
image image
image image

Vous pouvez utiliser le langage de votre choix, et les outils de votre choix. Vous deverez tester votre méthode sur des images de différents types (images naturelles et images de synthèse).