[Futilitaire] P'tit projet perso en cours

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   -  
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour tout le monde.

J'ai un petit projet perso: Un petit programme parfaitement inutile, mais ça m'intéressait de le faire, alors je m'y suis mis:

La création d'images à partir d'un assemblage d'images prises au hasard sur le web.
(Un peu à la manière des programmes debris ou WebCollage.)

Voilà ce que ça donne pour les premiers essais:
http://sebsauvage.net/webgobbler/

Pour l'instant je m'alimente à 3 sites web (c'est facilement extensible).
Si j'ai le temps, j'en ferai un économiseur d'écran, un changeur de fond de bureau, générateur de page HTML+image, etc...



Par contre, j'ai une question:
Est-ce que vous avez une idée de la manière dont je pourrais me débarasser de l'aspect très rectangulaire des images ?

(En faisant une transparence progressive sur les bords ou autre ?)

Je suis ouvert aux idées.

Merci !

69 réponses

Utilisateur anonyme
 
"Futilitaire" ! j'adore! c'est toi qui l'a inventé?

kinder.surprise,
caractère banane
0
Fu Xuen Messages postés 3642 Date d'inscription   Statut Contributeur Dernière intervention   305
 
Salut,

Je ne crois pas [http://www.framasoft.org/rubrique224.html].

-= Fu Xuen =-
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662 > Fu Xuen Messages postés 3642 Date d'inscription   Statut Contributeur Dernière intervention  
 
Effectivement ça vient de framasoft :-)
0
Fu Xuen Messages postés 3642 Date d'inscription   Statut Contributeur Dernière intervention   305
 
Salut,

En implémentant la détection de contour et en aligant les segments ainsi détectés :D... Plus simplement en pivotant les images au hasard, en les rendant légèrement obliques les unes par rapport aux autres ; mais peut-être cela oblige-t-il à recalculer chaque image ?

-= Fu Xuen =-

P.S. Tu fais ça en python ?
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
La détection de contours ça serait l'idéal, mais je le sens pas bien.
(et puis j'ai jeté tous les cours que j'avais suivi à l'université. Bien fait, j'savais qu'j'aurais pas dû.)

Pivoter ?
En fait j'avais déjà prévu de faire ça, mais ça laisse des angles et des coins.

J'avais pensé: je pourrais créer comme alpha un "fractal cloud" (ou plasma, comme celui généré par Fractint), l'atténuer sur les bords et m'en servir comme alpha pour l'image.

Mébon, je ne suis pas convaincu que ça soit la meilleure solution.

Je ne sais pas comment fait debris, mais ils n'ont pratiquement pas de coins, eux :'-(

Faut que je cherche encore.
0
Fu Xuen Messages postés 3642 Date d'inscription   Statut Contributeur Dernière intervention   305
 
Arf, justement, je viens d'essayer Debris : on dirait qu'il fait de la détection de contours, et qu'il découpe les photos selon le sujet.

Au fait, je trouve que c'est une très bonne idée - enfin, c'est un peu arty, tu pourrais même aller dans une galerie parisienne ou à une biennale avec ça, même si ça n'est pas très siginificatif et profond ;).

-= Fu Xuen =-
0
Dal > Fu Xuen Messages postés 3642 Date d'inscription   Statut Contributeur Dernière intervention  
 

> tu pourrais même aller dans une galerie
> parisienne ou à une biennale


Ben non, pas vraiment.. ce serait une violation du copyright détenu par les auteurs des images.

Si le "Futilitaire" est utilisé pour tes propres besoins privés, là il n'y a pas de problèmes.

Dal
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662 > Dal
 
C 'est vrai que c'est un cas limite, mais il y a bien des oeuvres d'art moderne qui fonctionnent sur le même principe.

Pas évident... mais c'est bien pour cela que j'ai mis un disclaimer sur le programme.
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
http://www.sebsauvage.net/python/webgobbler/

C'est un peu mieux présenté.
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Effectivement avec la rotation ça donne de meilleurs résultats.
Merci de la suggestion.

(J'ai ajouté 10 exemples de ce que ça donne avec la rotation.)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Pour ceux que cela intéresse, le code source du programme est disponible:
http://sebsauvage.net/python/webgobbler

Pour le moment, seulement le générateur d'image simple et le changeur de fond d'écran son actifs.
Il faut le lancer en ligne de commande.

Vous aurez besoin d'installer Python et le module PIL ( http://www.pythonware.com/products/pil/ )
0
Fu Xuen Messages postés 3642 Date d'inscription   Statut Contributeur Dernière intervention   305
 
Merci, je me demandais justement comment fonctionnait le collecteur :).

-= Fu Xuen =-
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Nouvelle version du programme disponible, toujours avec les sources.

L'assemblage des images se fait de façon un peu différente, ce qui donne des images plus colorées et détaillées, sans grandes zones sombres.
(Au lieu de faire un darken+add+autocontrast, je fais add+equalize).

Il y a également quelques nouvelle options comme "emboss" qui donne un petit effet de relief.

http://sebsauvage.net/python/webgobbler
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Wow, je suis épaté :-)
C'est assez foufou :
http://cjoint.com/data/jpcUQYfDjX.htm :-)

Ca va finir avec un concours des plus belles images webgobbler :-)

Chuis un peu frustré de ne pas comprendre le code source, alors je me contente de le regarder en rêvassant :-D

Ah et un petit truc en passant, j'ai voulu consulter le fichier last_used_images.txt pour voir les matières premières de l'image finie. Mais j'ai du copier-coller les url dans la barre du navigateur.
Je pense que ce serait pratique de générer plutôt un fichier html avec les logs comme avant mais avec les url en liens hypertextes.
Pourquoi pas générer les logs dans un texte par défaut mais avoir la possibilité, dans les options de lancement du programme, de pouvoir recupérer les logs en html....

Pour ma part je vais me faire un plaisir de m'écrire un petit programme perso pour ça :-)

En tout cas chapeau....

Kilian, débutant en tâche de fond.....
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Oups, c'est dans les FIXME j'ai rien dit :-)

Kilian, débutant en tâche de fond.....
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
Salut !
Pour le contour d'image, il faut commencer par calculer le gradient de l'image, puis le contour, est défini par les valeur les plus élevé du gradient. Il ne reste plus qu'à prendre que cette zone (là par contre je sèche).
pour rapel, tu obtient le gradient (un vecteur) en dérivant dans tout les direction:
      ->       ->  -->
df/dx ex+df/dy ey=grad f


Salutation !
Char Snipeur
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
oùlà... c'est vieux tout ça.
C'est plus très frais dans ma mémoire.

Dommage que j'ai jeté tous mes cours de traitement d'image.


Je me souviens vaguement de la façon dont fonctionne le gradient, mais je ne vois pas comment le calculer dans toutes les directions à la fois... :-.
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
eh bien c'est simple. Si ton image est la matrice A contenant les valeurs de couleur, la composante du gradient selon x est : A(i+1,j)-A(i-1,j)
sur y : A(i,j+1)-A(i,j-1)
ça c'est la formule au premier ordre, qui fonctionne déjà pas mal du tout. Pour avoir la norme tu fait la somme des composantes au carré. Et normalement, si tu affiche la matrice norme des gradient, tu peux facilement voir les contours. Ensuite du point de vue algorithmique c'est beaucoup plus dur, il faut trouver une foncction qui detect les bords de façon à faire une forme continue.
C'est loin d'être insurmontable.

Salutation !
Char Snipeur
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Merci :-)

Note qu'il faut le laisser tourner un moment pour obtenir de meilleurs résultats.



L'idée du fichier de log en HTML n'est pas mauvaise du tout: comme tu dis ça évite d'avoir à copier-coller les URLs.
Je pense que je ferai ça.
Merci de la suggestion.
0
ToMaZ Messages postés 208 Date d'inscription   Statut Membre Dernière intervention   11
 
Salut,

Je ne dirais qu'une seule chose (car je nage avec le Python) :
"Chapeau bas MONSIEUR SAUVAGE"


ToMaZ


Comment savez- vous que la Terre n'est pas l'enfer 
d'une autre planète (A. Huxley)
0
andante Messages postés 4090 Date d'inscription   Statut Membre Dernière intervention   39
 
C'est malin de jeter des cours! Je n'ose pas imaginer ce que tu as fait de tes cours d'histoire ou de littérature:) Par contre, c'est assez sympa ton programme. Cela pourrait donner un résultat très cocasse sur un type d'image assez particulier....

Il n'ya jamais rien de pire que l'argument d'autorité.
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
particulier ? ;-)
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Pour information, la version beta 9 est en cours.
(Elle n'est pas encore publiée).

L'économiseur d'écran Windows fonctionne.
(ouf... la programmation de l'API 32, c'est beurk.)

Il me reste:
- à faire l'interface graphique de configuration (sans doute en Delphi 6)
- à faire un installeur (je prendrai sans doute l'excellent NSIS)
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
La version 1.0 beta 9 est parue.
(Toujours à la même adresse.)
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
La beta 10 est disponible, et surtout j'ai mis en place une gallerie que j'alimenterai de temps en temps.

http://sebsauvage.net/webgobbler/
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
Ah ben ça tombe bien je viens juste de réussir à installer PIL pour Linux.
(Je trouvais pas le nom du paquet, et j'y arrivais pas à partir des sources).

Pour ceux qui ont du mal comme moi, le paquet sous Debian s'appele
"python-imaging"... Et c'est probabement la même chose sous d'autres distribs...

Au fait seb, tu penses lui créer une interface graphique à Webgobbler? :-)
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
J'ai déjà planifié l'interface graphique pour la configuration de l'économiseur d'écran, mais je n'ai pas encore eu le temps de la développer.

Est-ce qu'il y d'autres interfaces graphiques que je pourrais faire ?
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
En fait je pensais au tout avec une petite barre de progression à chaque téléchargement d'image, et au dessus un aperçu de l'image en miniature qui progresse... Les options de lancement de webgobbler en graphique etc...

Mais barf.... C'est peut être un peu gadget finalement tout ça... :-)
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Yes !

Je suis listé dans le "Daily Python URL" :-)))
http://www.pythonware.com/daily/
0
kilian Messages postés 8732 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
:-)
0
p.legal
 
Félicitation !
@++
0