Cannibal Caniche
Free as a bernard l'ermitte => Les yeux => Discussion démarrée par: JKP le février 18, 2011, 16:27:15 pm
-
*****************
(http://jkp.antisocial.be/images/petit lapin qui pisse derrière la tente.jpg)
**********
(http://jkp.antisocial.be/images/rennes.jpg)
**********
(http://jkp.antisocial.be/images/bayrou.jpg)
**********
(http://jkp.antisocial.be/images/deschamps.jpg)
Code Source
On prend un film statique, on le transforme en images et on pioche des bouts d'image et on les assemble
A partir d'une idée d'[url=http://yamatierea.org/papatchs/#quevillonnage]Olivier Baudu[/url]
Transformation d'un film en images
ffmpeg -i movie.avi ./pnm/%d.pnm
#!/usr/bin/perl
#my $fichier1 = 0;
my $nombredefichiers = `ls ./pnm/*.pnm | wc -l`;
my $count = 650;
my $j=0;while($j<50)
{
my ($sec,$min,$hour) = localtime(time);
my $date = $sec."-".$min."-".($hour);
my $i=0;while($i<=1221135)
{
$fichier=int(rand($nombredefichiers));
`dd if=./pnm/$fichier.pnm of=final-$date.pnm bs=1 count=$count
skip=$i seek=$i`;
$i+=$count;
}
$j++;
}
-
je comprends pas trop comment il marche ton code, mais le résultat est ultra classe!
-
merci
j'insiste pour expliquer l'algorithme
film statique --->>> plein d'images
tu prends premiere ligne image A + seconde ligne image B + troisieme ligne image C
et comme le décor est statique cela brouille que ce qui bouge
sur codelab, ils avaient suggéré de le faire sur du porno, avis aux inspirés.
-
oui ça j'avais compris le résultat est vraiment bien du coup ça fonctionne en à mort avec les discours politiques... c'était plus comment on se sert du code que je comprend pas.
-
ok
il faut le lancer sous linux
je commente chaque ligne
#!/usr/bin/perl
#my $fichier1 = 0;
my $nombredefichiers = `ls ./pnm/*.pnm | wc -l`; //donne le nombre de fichiers en entree
my $count = 650; // le buffer de copie
my $j=0;while($j<50) // boucle pour faire 50 images
{
my ($sec,$min,$hour) = localtime(time); // obtenir la date
my $date = $sec."-".$min."-".($hour);
my $i=0;while($i<=1221135) //boucle pour construire une image
{
$fichier=int(rand($nombredefichiers)); // on selectionne une image en entree au hasard
`dd if=./pnm/$fichier.pnm of=final-$date.pnm bs=1 count=$count
skip=$i seek=$i`; // on copie count de donnes a partir du fichier $fichier.pnm à la position ( skip ) dans le fichier final-date à la position seek
$i+=$count; on augmente notre compteur
}
$j++; // compteur pour produire 50 fichiers
}
voila
voila
-
smiley14 smiley14 smiley14
super rendu!
-
cool!
C'est toi qui gère et les coordonnées et la dimension des glitchs ou non.
Merci aussi pour Jérôme Leroy!
-
cool!
C'est toi qui gère et les coordonnées et la dimension des glitchs ou non.
Merci aussi pour Jérôme Leroy!
putain
j'ai réfléchi à comment répondre à ta question et j'ai trouvé une solution, normalement cela donnera des images encore plus cool.
je teste cela ce week end
merci myshel pour ta question.
-
mortel ca !!!
maintenant il faut que tu le fasses pour du temps réel (jitter?)=)
-
j'aimerais essayer avec un paysage filmé en fixe où yaurait juste des arbres qui bougent avec le vent.
-
si tu ponds un truc qui le fait en temps réel et qu'il existe quelquechose sur Linux dans le style de résolume(surtout qui prends les swf), je suis presque prêt à apsser sous Linux
-
On peut assez facilement faire des trucs similaires avec Processing (qui tourne sur toutes les plateformes), après en temps réel je sais pas ce que ça donnerait. Dites si vous voulez le code.
-
olivier baudu sur lequel j'ai pondu l'idée le fait en temps réel sur du pure data.
http://codelab.fr/2142
sinon n'hésitez pas à venir en discuter sur codelab, pilami vient de nous rejoindre
-
bonjour,
je suis très intéressé par tout ça, et je profite que le thread 'bgucoer video' ait disparu pour poser de stupides petites questions,
- à quel moment appeler le script.pl quand j'envoie ma conversion ffmpeg dans le bash? dois-je avoir un dossier quelque part avec mes images 1.jpg etc? il y a bien un moment où il faut que j'indique au bash ou à ffmpeg qu'il faut piocher dedans?
- staross, je serais très intéressé par ton script processing, s'il te plait,
- j'ai récup une carte pci pinnacle emptyv avec une puce connexant fusion 878a et une entrée composite, je vais essayer d'interférer sur un signal qui sort d'un vhs avec des pédales d'effets, je vous tiens au courant dès que j'en tire quelque chose (d'ici deux semaines).
-
On peut assez facilement faire des trucs similaires avec Processing (qui tourne sur toutes les plateformes), après en temps réel je sais pas ce que ça donnerait. Dites si vous voulez le code.
j'ai essayé aussi mais c'est raté je crois
(http://img.over-blog.com/500x666/2/27/62/48/monzoeil5/gros-nichons.jpg)
-
au lieu de courir aprés des films avec des décors fixes, j'ai pris une image fixe et j'en fait dix images avec du bruit sur les zones que je voudrais pixeliser.
donc le périmètre sur lequel je bouge les images correspond à la taille des glitches
-
bonjour,
- à quel moment appeler le script.pl quand j'envoie ma conversion ffmpeg dans le bash?
apres
d'abord ffmpeg video en pnm
ensuite placement dans le repertoire ./pnm puis lancement du script
dois-je avoir un dossier quelque part avec mes images 1.jpg etc? il y a bien un moment où il faut que j'indique au bash ou à ffmpeg qu'il faut piocher dedans?
c du pnm, il faut que tu les mettes dans le repertoire pnm
-
si tu ponds un truc qui le fait en temps réel et qu'il existe quelquechose sur Linux dans le style de résolume(surtout qui prends les swf), je suis presque prêt à apsser sous Linux
je ne suis malheureusement pas assez fort en pure data mais il faudrait reprendre le code d'olivier et selectionner une zone à pixeliser.
a suivre
demande sur codelab, on ne sait jamais
quand au swf, c super mal barré
-
- staross, je serais très intéressé par ton script processing, s'il te plait,
Voilà, Il te faut un dossier à coté du script processing avec les images qui viennent d'une vidéo ou d'un gif (genre 1.png, 2.png, etc...), y'a pleins de petits programmes pour faire ça.
Ensuite faut entrer le nom du dossier (par exemple ici im8) : String dir = "im8";
Il faut aussi changer l'extension des images (ici c'est .bmp) :
return name.toLowerCase().endsWith(".bmp");
C'est tout.
String dir = "im8";
PImage[] images;
////setup
void setup() {
java.io.File folder = new java.io.File(sketchPath + "\\" + dir);
java.io.FilenameFilter jpgFilter = new java.io.FilenameFilter() {
boolean accept(File dir, String name) {
return name.toLowerCase().endsWith(".bmp");
}
};
String[] filenames = folder.list(jpgFilter);
images = new PImage[filenames.length];
for (int i = 0; i < filenames.length; i++) {
images = loadImage(sketchPath + "\\" + dir + "\\" + filenames);
}
size(images[0].width, images[0].height,P2D);
noLoop();
}
////draw
void draw() {
loadPixels();
int ind,y;
y =0;
for (int x = 0; x < images[0].width; x++ ) {
// if(random(0,1) < 0.5)
// {
// ind = images.length-1 - ceil( float(images.length-1) * float(x) / float( images[0].width));
// } else {
// ind = ceil( float(images.length-1) * float(x) / float( images[0].width));
// }
// if(random(0,1) < 0.5)
// {
// ind = images.length-1 - ceil( float(images.length-1) * float(y) / float( images[0].height));
// } else {
// ind = ceil( float(images.length-1) * float(y) / float( images[0].height));
// }
for ( y = 0; y < images[0].height; y++ ) {
ind = int ( 1*(images.length-1) * float(y) / images[0].height );
//ind = int ( 2.56*(images.length-1) * float(y) / images[0].height );
//ind = ind + round( random(-10,10) );
ind = ind%(images.length-1);
PImage img = images[ind];
int loc = x + y*img.width;
float r = red (img.pixels[loc]);
float g = green (img.pixels[loc]);
float b = blue (img.pixels[loc]);
color c = color(r,g,b);
pixels[loc] = c;
}
}
updatePixels();
save("out.png");
}
-
cool! merci beaucoup!
-
si tu ponds un truc qui le fait en temps réel et qu'il existe quelquechose sur Linux dans le style de résolume(surtout qui prends les swf), je suis presque prêt à apsser sous Linux
je ne suis malheureusement pas assez fort en pure data mais il faudrait reprendre le code d'olivier et selectionner une zone à pixeliser.
a suivre
demande sur codelab, on ne sait jamais
quand au swf, c super mal barré
c'est bien ce que je me disais, je vais finir seul au monde à faire des swf !!!
-
peut être que dans 20 ans tu seras hypra cool comme les mecs qui remixent de la vhs aujourd'hui...
-
peut être que dans 20 ans tu seras hypra cool comme les mecs qui remixent de la vhs aujourd'hui...
smiley5 smiley14
-
peut être que dans 20 ans tu seras hypra cool comme les mecs qui remixent de la vhs aujourd'hui...
vu que je ne suis pas sur facebook, je ne vois pas comment ils verront mon travail... je me sens régressif...
-
on continue
http://jkp.antisocial.be/musique/test.avi
le script bientôt
-
yop
un type en a fait en flash... je sais plus qui se demandait si c'était possible? Mysh3l?
http://blog.soulwire.co.uk/laboratory/flash/as3-bitmapdata-glitch-generator
y'a les sources et tout apparemment... pas encore testé...
-
j'avais vu mais je n'avais pas approfondi, je vais regarder merci de me faire une piqure de descente en rappel.