mercredi 27 novembre 2013

GIMP - Simuler le filtre "passe-haut" de Photoshop

Voici la définition du filtre passe-haut telle que trouvée sur Wikipedia :
Un filtre passe-haut est un filtre qui laisse passer les hautes fréquences et qui atténue les basses fréquences, c'est-à-dire les fréquences inférieures à la fréquence de coupure. Il pourrait également être appelé filtre coupe-bas. Le filtre passe-haut est l'inverse du filtre passe-bas et ces deux filtres combinés forment un filtre passe-bande. Le concept de filtre passe-haut est une transformation mathématique appliquée à des données (un signal). L'implémentation d'un filtre passe-haut peut se faire numériquement ou avec des composantes électroniques. Cette transformation a pour fonction d'atténuer les fréquences inférieures à sa fréquence de coupure f_c et ce, dans le but de conserver uniquement les hautes fréquences. La fréquence de coupure du filtre est la fréquence séparant les deux modes de fonctionnement idéaux du filtre : bloquant ou passant.
Voici, pour commencer, la manière dont les choses se passent dans Photoshop.
On obtient un calque tout gris dans lequel on peut voir légèrement  bords des éléments de la photo.

Si l'image est toute grise, c'est parce que ce calque a pour but d'être utilisé comme un masque allant être fusionné avec le calque précédent, en général, la photo d'origine.

Lorsqu'un masque est appliqué, il se base sur un dégradé allant du noir au blanc afin de savoir à quel niveau il doit appliquer la fusion.

Si nous voulons avoir une fusion nulle, ce masque doit être gris, ce gris devant avoir une valeur de #808080, soit que le rouge, le vert et le bleu aient des valeurs de 128.

Ce 128 vient du fait que chaque couleur est codée de 0 à 255. 128 étant donc le centre ce dégradé, donc le gris le plus neutre si nous mettons cette valeur à chacune des trois couleurs primaires :


Une fois que nous avons notre masque, nous allons dans la fenêtre des calques et choisissons le mode "Incrustation" :


Voilà, le filtre "passe-haut" de Photoshop donne plus ou moins ce résultat et sert donc à faire ressortir certains petits détails de la photo et a la rendre un peu plus nette.

Gimp ne disposant pas de ce filtre, il faut donc faire à la main chacune des différentes étapes par lesquelles passe ce filtre.

La méthode utilisée par Photoshop passant par une importe série d'opérations, nous ne retiendrons que les principales :

Disposant de la version anglaise, je mettrais les noms des menus et filtres en anglais, mais, en général, la traduction se faisant quasi au mot-à-mot, vous devriez rapidement retrouver les éléments auxquels je fais mention.

1. Commencez par ouvrir votre photo dans Gimp.

2. Dupliquez votre calque.

3. Pour ce nouveau calque, nous allons faire une détection des bords afin de les isoler un peu, pour cela, allez dans "Filters" - "Edge-Detect" - "Difference of Gaussians".

Une fenêtre apparaîtra vous permettant de paramétrer la détection des bords.

Il vous faudra faire plusieurs essais avant de maîtriser les bonnes valeurs. Celles-ci étant différentes selon le type de photos. Pour celle-ci, j'utiliserais ces valeurs :


Une fois appuyé sur "OK", l'application du filtre prendra quelques secondes à s'effectuer.

4. Vous obtiendrez un calque quasi tout blanc sur lequel on peut distinguer les contours des différents éléments de la photo.
Nous allons donc maintenant modifier les couleurs en allant dans "Colors" - "Levels".
Dans la fenêtre apparaissant, modifiez pour commencer le "Output Levels" afin de mettre la seconde valeur a 128, afin de transformer tout le blanc en un gris "neutre" tel qu'expliqué plus haut.
Dans la partie "Input Levels", modifiez les valeurs afin d'accentuer le contraste entre les contours et le fond de l'image.


5. Une fois ce calque obtenu, modifiez son mode d'incrustation en "Overlay" ("Incrustation").
Modifiez légèrement son opacité afin que l'effet ne soit pas exagéré et ne saute pas aux yeux :



samedi 23 novembre 2013

Tardis Tree


TardisTree by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Gold Fusion


Gold fusion by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Light Cube by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Light Sphere


Light Sphere by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

The Box


The Box by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Paysage


Paysage by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Old Town


OldTown by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Mega Structure


MegaStructure by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Alien Spaceship 2


Alien Spaceship 2 by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Holy Ruins


Holy Ruins by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Menger machination


Menger machination by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Lost mandelbulb


Lost mandelbulb by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Temple


Temple by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Metal


Metal by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Corridor


Corridor by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Strange Thing


Strange thing by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Pico


Pico by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Lumineux


Lumineux by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Smoothy Spaceship by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

a hole by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Ruins


Ruins by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Strange Mountains


Strange Mountains by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Blue Cavern


Blue Cavern by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Ball World 2


Ball World 2 by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Ball World 1


Ball World 1 by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

Greeky


Greeky by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

ApolloCylinder


ApolloCylinder by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

SmoothKali


SmoothKali by ~VanlindtMarc on deviantART
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 Belgique.

samedi 9 novembre 2013

Suite de nombres

Il peut parfois être utile de programmer des suites de nombres.
Voici deux méthodes que j'utilise, basées sur la suite de Fibonacci, dont voici une représentation graphique :
Comme on peut le voir, son "exponentialité" n'est pas fort utile...

Nous allons donc reprendre chaque chiffre des nombres formant la suite et les additionner.

Donc,
0 reste 0
1 reste 1
1 reste 1
2 reste 2
3 reste 3
5 reste 5
8 reste 8
13 devient 4
21 devient 3
34 devient 7
55 devient 10
89 devient 17
144 devient 9
233 devient 8
377 devient 17
610 devient 7
987 devient 24
et ainsi de suite.

Nous reprenons le principe de la suite de Fibonaci et les additionnons :
0+1 : 1
+1 : 2
+2 : 4
+3 : 7
+5 : 12
+8 : 20
+4 : 24
+3 : 27
+7 : 34
+10 : 44
+17 : 61
...

Ce qui nous donne une suite nettement plus harmonieuse :


Nous pouvons, quasi à l'infini, appliquer ce principe à chaque nouvelle suite obtenue.
Nous reprenons donc notre suite précédente : 0, 1, 2, 3, 5, 8, 4, 3, 7, 10, 17, ....

0 reste 0
1 reste 1
1 reste 1
2 reste 2
3 reste 3
5 reste 5
8 reste 8
4 reste 4
3 reste 3
7 reste 7
10 devient 1
17 devient 8
9 reste 9
8 reste 8
17 devient 8
...
 Pour la suite suivante, j'ai "réduit" à son minimum possible chacun de nombres de la suite, cela donnant une suite où l'on peut noter des "répétitions" :


Dans un prochain article, nous verrons comment retirer une suite utilisable d'une représentation graphique du triangle de Sierpinski.

dimanche 3 novembre 2013

Simuler profondeur de champ avec Gimp




 
Lorsque l'on prend une photo, selon l'objectif, il est possible, grâce à la profondeur de champ, d'obtenir une partie de l'image floutée selon la distance à laquelle elle se trouve.

Grâce à l'informatique et à quelques logiciels, il est possible de simuler cet effet.

Néanmoins, il faut un peu de technique car nous allons devoir passer par la réalisation d'un "Z-Depth Map", c'est à dire une image ne comprenant aucune autre information que la profondeur.

Pour cet exemple, je vais prendre une photo célèbre qui ne se prête pas à ce genre d'exercice mais qui, du coup, permettra de mieux comprendre le principe et d'en voir l'effet ainsi que les limites : "Fox terrier au pont des Arts".

Cette photo est parfaite pour notre exercice car on retrouve plusieurs éléments bien distincts se trouvant à différentes "profondeur" de notre photo.

Le but à atteindre et que je vous montre rapidement dans cette vidéo est celui que vous pouvez voir sur la seconde image.

Cette image a été faite grossièrement car une réalisation précise n'aurait pas apporté beaucoup plus d'informations et aurait fait grossir inutilement la durée de la vidéo, le principal étant que nos différents éléments soient bien séparés.

Néanmoins, plus vous détaillerez cette image, plus le résultat final concernant le flou de profondeur de champ sera réaliste... (par exemple, j'ai oublié la laisse du chien, le lampadaire, etc.)



Une fois notre image créée, nous allons pouvoir l'utiliser pour simuler le flou de profondeur. Pour ce faire, vous avez plusieurs possibilités.

La première est d'utiliser la version gratuite de Photoshop CS2 et le plug-in payant "DOFPro" automatisant la plupart des étapes à venir tout en offrant de nombreuses petites options augmentant la qualité du résultat.
Mais au prix de 99$, il peut parfois être utile d'avoir des alternatives...

Voici le résultat obtenu avec ce plug-in :






Si nous augmentons les valeurs de flou, le résultat devient aberrant et n'offre plus rien de réaliste...



Afin d'obtenir un meilleur résultat, nous allons donc le faire à la main en utilisant uniquement les outils de Gimp :) Cela est plus que suffisant pour obtenir un résultat réaliste assez rapidement, exemple obtenu dans la vidéo-tutorial qui suit :