Suite à la présentation sur les logiciels de création graphique libres, qu'Adrien Heruble et moi-même avons effectuée hier à l'Ecole Supérieure d'Art du Havre dans le cadre du Colloque Esthétiques Spéculatives 2, voici les liens mentionnés durant la présentation :
Ou trouver du logiciel libre :
GIMP :
Blender :
La présentation en elle même est telechargeable ici (necessite OpenOffice).
vendredi 13 mars 2009
lundi 23 février 2009
Bout de code #4 : IArtist
Une problématique vue maintes et maintes fois : concevoir une intelligence artificielle ayant la capacité de peindre, en fonction de ses goûts.
Très tôt (informatiquement parlant) des artistes et des chercheurs se sont penchés sur la question de savoir si un ordinateur pouvait faire son entrée dans le monde de l'art, non plus comme outil, mais comme créateur. Citons notamment le robot AARON, en constante évolution depuis sa création en 1973 par Harold Cohen, qui à la capacité de créer des peintures, aussi bien abstraites que figuratives.
Le problème de AARON, c'est qu'il ne peut pas apprendre tout seul de nouveaux styles, à moins que Harold ne "mette les mains dans le cambouis" et lui code directement la façon de faire le nouveau style voulu.
Je me suis penché sur le problème, aidé par Xavier Gouchet (qui m'a proposé l'algorithme de conception) et Adrien Herubel (qui m'a codé les scripts de téléchargement d'images Flickr et Google Image). Le programme que nous avons conçu, IArtist, marche de la façon suivante :
Très tôt (informatiquement parlant) des artistes et des chercheurs se sont penchés sur la question de savoir si un ordinateur pouvait faire son entrée dans le monde de l'art, non plus comme outil, mais comme créateur. Citons notamment le robot AARON, en constante évolution depuis sa création en 1973 par Harold Cohen, qui à la capacité de créer des peintures, aussi bien abstraites que figuratives.
Le problème de AARON, c'est qu'il ne peut pas apprendre tout seul de nouveaux styles, à moins que Harold ne "mette les mains dans le cambouis" et lui code directement la façon de faire le nouveau style voulu.
Je me suis penché sur le problème, aidé par Xavier Gouchet (qui m'a proposé l'algorithme de conception) et Adrien Herubel (qui m'a codé les scripts de téléchargement d'images Flickr et Google Image). Le programme que nous avons conçu, IArtist, marche de la façon suivante :
Acquisition des données : on fourni deux choses en entrées à IArtist : un sujet et un style. Ils peuvent être proposés de différentes façons, que ce soit par une ou plusieurs images, ou par des mots. Dans le dernier cas, IArtist ira comme un grand chercher par lui-même sur internet des images en rapport avec les mots donnés.- Analyse du style : une fois qu'IArtist a à sa disposition un ensemble d'images correspondant au style donné, il va se servir de ces images pour analyser le style (on ne peut donner plus de détails pour le moment, les travaux n'étant pas encore publiés) et nous fournir un critique de ce style, capable de dire si oui ou non, une image appartient à ce style.
- Reproduction du style : à partir du moment où IArtist à son sens critique pour le style, il va pouvoir commencer à "peindre" : en partant de l'image sujet, il va appliquer des traitements de façon aléatoire, et soumettre à chaque fois le résultat au critique. Si le critique lui dit que c'est plus proche du style qu'avant, IArtist recommence en partant du dernier résultat. Dans le cas contraire, il reviendra au résultat précédent. IArtist s'arrête quand le critique lui dit que l'image obtenue appartient au style.
Libellés :
bout de code,
IA,
Intelligence Artificielle,
style
mercredi 21 janvier 2009
Bout de code #3 : Motion Painting
En 
partant de l'idée de Cam Graffiti, je me suis dit qu'il serait intéressant de trouver d'autres outil qu'une couleur marqueur pour jouer le rôle de pinceau. Ayant précedemment travailler sur la détection d'objets en mouvements, j'ai tout de suite penser à utiliser les variations de couleur de l'image comme pinceau.Ce pinceau est donc obtenu en faisant la différence de couleurs entre deux images consécutives, puis de peindre aux endroits où cette diffférence est élevée.
On peut ensuite ajouter différents effets, de manière optionnelle :
- ne garder dans le pinceau que les contours des objets (grâce au filtre de Canny)
- appliquer un filtre après l'ajout de la couleur, que ce soit un filtre gaussien, qui donne un effet bombe de peinture, où un filtre médian, qui donne des "taches" de couleurs aux formes plus arrondies
- superposer la "peinture" à l'image en niveaux de gris
Libellés :
bout de code,
caméra,
contours,
mouvement
samedi 10 janvier 2009
Peinture #2 : captiver l'attention par le detail
Cette peinture reprend la même idée, en utilisant deux méthodes distinctes :
- les yeux sont mis en valeur par la plus grande précision de la forme
- la bouche est mise en valeur par le passage du gris à la couleur
Le procédé principal est toujours le même que pour la peinture #1, utilisant les quadtrees.
PS : peinture sur toile 116*81cm, acrylique
PS : peinture sur toile 116*81cm, acrylique
dimanche 4 janvier 2009
Bout de code #2 : Cam Graffiti
Un petit bout de code rigolo, qui à déjà été fait par beaucoup de personnes je pense : faire de la peinture par caméra.
L'idée est d'utiliser une couleur "marqueur" comme pinceau : ici la couleur bleue. Il suffit alors, à chaque image, d'ajouter de la couleur à l'endroit où apparait la couleur "marqueur". Pour obtenir l'effet bombe de peinture, il suffit d'appliquer un filtre gaussien à cet endroit, étalant ainsi la couleur, avec un estompement.
J'éspère dans un futur proche pouvoir porter ce concept en 3D, en utilisant un ensemble de caméras et une méthode de triangulation. On pourra alors se balader à l'intérieur du graffiti, qui ne sera plus contenu dans un plan, mais dans l'espace.
PS : ce code à été réalisé en C/C++, avec la librairie OpenCV.
J'éspère dans un futur proche pouvoir porter ce concept en 3D, en utilisant un ensemble de caméras et une méthode de triangulation. On pourra alors se balader à l'intérieur du graffiti, qui ne sera plus contenu dans un plan, mais dans l'espace.
PS : ce code à été réalisé en C/C++, avec la librairie OpenCV.
Libellés :
bout de code,
graffiti,
opencv,
webcam
samedi 3 janvier 2009
Bout de code #1 : [Alkwarel] Shape Creator
Dans le cadre d'Alkwarel (voir le blog de Xavier Gouchet), programme de conception artistique des algoristes, je suis en train de concevoir un créateur de formes, d'après l'idée de Stephane Trois Carrés.
L'idée est de pouvoir créer de façon intuitive et facile une forme, en se servant uniquement de la souris. On part d'un simple point, que l'on peut étirer en une ligne, qui est ensuite transformable en un polygone. On doit pouvoir également pouvoir gerer facilement des courbes, ainsi que concevoir des formes géométriques simples, comme des triangles équilatéraux, des cercles, des carrés, etc...
J'ai donc conçu cette première ébauche en Java (langage utilisé pour concevoir Alkwarel, pour son aspect multiplatformes).

Chaque bouton de la souris à un rôle bien spécifique : le gauche sert à utiliser l'action seléctionnée, le droit à ouvrir le menu de choix de l'affichage du polygone et des courbes de bezier associées, ainsi que les trois modes d'utilisations, et la molette a choisir parmis les actions de chaque mode.
Le mode le plus classique est le mode Transformation : il permet de tourner, d'agrandir et de déplacer la forme dans la fenêtre.
Pour pour manipuler notre forme, on utilise le mode Dessin : on peut ajouter un point sur un segment et le déplacer, déplacer un point déjà créé, et supprimer un point ou un ensemble de points. La selection se fait dans le premier cas sur le point le plus proche du segment le plus proche du point cliqué, sur le plus proche point du point cliqué pour le second cas et pour la suppression d'un point simple.
Enfin, pour créer des formes élémentaires (et bien plus encore !), j'ai conçu le mode Géométrie, comprenant deux actions :
L'idée est de pouvoir créer de façon intuitive et facile une forme, en se servant uniquement de la souris. On part d'un simple point, que l'on peut étirer en une ligne, qui est ensuite transformable en un polygone. On doit pouvoir également pouvoir gerer facilement des courbes, ainsi que concevoir des formes géométriques simples, comme des triangles équilatéraux, des cercles, des carrés, etc...
J'ai donc conçu cette première ébauche en Java (langage utilisé pour concevoir Alkwarel, pour son aspect multiplatformes).
Chaque bouton de la souris à un rôle bien spécifique : le gauche sert à utiliser l'action seléctionnée, le droit à ouvrir le menu de choix de l'affichage du polygone et des courbes de bezier associées, ainsi que les trois modes d'utilisations, et la molette a choisir parmis les actions de chaque mode.
Le mode le plus classique est le mode Transformation : il permet de tourner, d'agrandir et de déplacer la forme dans la fenêtre.
Pour pour manipuler notre forme, on utilise le mode Dessin : on peut ajouter un point sur un segment et le déplacer, déplacer un point déjà créé, et supprimer un point ou un ensemble de points. La selection se fait dans le premier cas sur le point le plus proche du segment le plus proche du point cliqué, sur le plus proche point du point cliqué pour le second cas et pour la suppression d'un point simple.
Enfin, pour créer des formes élémentaires (et bien plus encore !), j'ai conçu le mode Géométrie, comprenant deux actions :
- l'action Régulier permet de créer un polygone régulier de n cotés, avec pour coté, le segment le plus proche du point cliqué, et orienté vers le point cliqué. On peut donc avoir un triangle équilatéral avec Régulier 3, un carré avec Régulier 4, un pentagone avec Régulier 5, etc...
- l'action Demi Cercle permet, comme son nom l'indique, de créer un demi cercle, dont le diamètre est le segment est le plus proche du point cliqué, et orienté vers ce point. Cela permet, en l'utilisant des deux cotés d'un segment, d'obtenir un cercle.
Libellés :
algoristes,
alkwarel,
bout de code,
java,
shape creator
vendredi 2 janvier 2009
Peinture #1 : segmentation de couleur inspiration quadtree.
Tout ça pour dire, qu'en fait, un de mes jeux favoris, en peinture, est d'essayer de dissocier la couleur de la forme, en fixant des contraintes bien précises :
Ici, seuls les traits principaux ont étés préservés, dans le seul but de permettre une reconnaissance aisée du sujet.
La couleur est ajoutée en s'inspirant des quadtrees : pour faire simple, les quadtrees sont une structure de données utilisée en informatique pour la compression d'image, par exemple. On part d'une grande zone carrée de l'image, que l'on va diviser en quatre sous-parties, tant que la couleur de la partie n'a pas une couleur uniforme ( à une certaine nuance près) et que sa taille est supérieure à un pixel.
Il en résulte que de grandes zones de couleur uniforme peuvent être représentées par un seul grand carré, plutôt qu'en plein de petits, ce qui prendrait plus de place en mémoire.
PS : cette peinture est réalisée sur toile 116*81cm, en acrylique
Inscription à :
Messages (Atom)