Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parserutils.php on line 219 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parserutils.php on line 222 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parserutils.php on line 359 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/auth.php on line 134 Warning: Cannot modify header information - headers already sent by (output started at /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parserutils.php:219) in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/auth.php on line 224 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/common.php on line 798 Warning: Cannot modify header information - headers already sent by (output started at /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parserutils.php:219) in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/actions.php on line 105 projecten:apfab_zap:blog [Retort++]
 
Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 933 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/parser.php on line 66 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/lexer.php on line 292 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 19 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 29 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 34 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 196 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 250 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 283 Deprecated: Assigning the return value of new by reference is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/handler.php on line 498 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/auth/plain.class.php on line 277 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/auth/plain.class.php on line 278 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/auth/plain.class.php on line 277 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/auth/plain.class.php on line 278 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/pageutils.php on line 270 Deprecated: Function split() is deprecated in /shared/usr/retortplusorg/DOMAIN/HTML/archief/inc/parser/xhtml.php on line 505

eerste testresultaten MagickWand

MagickWand is een PHP API die gebruik maakt van de library van ImageMagick. Wij gaan het bebruiken voor het beeldbewerkingsgedeelte van de ZapMachine.

Voor de test gebruiken we de images bami.jpg en bambi.jpg. Ze staan in dezelfde folder als het testscript dus kunnen samen in een MagickWand object geladen met

$mw = NewMagickWand(); MagickReadImages( $mw, glob( ‘./*.jpg’ ) ); #testimages bambi.jpg en bami.jpg $test_mw = MagickAppendImages( $mw, TRUE); #twee images onder elkaar plakken 0tweetestimages.jpg MagickCycleColormapImage( $mw, -200 ); #verander hue. magickcyclecolormapimage6x-10.jpeg $grey = NewPixelWand(); PixelSetColor( $grey, ‘#888888’ ); MagickPaintTransparentImage( $bamiMw, $grey , MW_TransparentOpacity , 1000 ); #zet alle grijze pixels in bami.jpg met een fuzzyness van 1000 op 100% transparant MagickCompositeImage($bambiMW, $bamiMw, MW_AtopCompositeOp, 10,10); #klap transparante bami.jpg over bambi.jpg b_transparant10000.jpeg $grey = NewPixelWand(); PixelSetColor( $grey, ‘#888888’ ); MagickPaintTransparentImage( $bamiMw, $grey , MW_TransparentOpacity , 2000); #zet alle grijze pixels in bami.jpg met een fuzzyness van 2000 op 100% transparant MagickCompositeImage($bambiMW, $bamiMw, MW_AtopCompositeOp, 10,10);#klap transparante bami.jpg over bambi.jpg b_transparant_20000.jpeg

Fabian de Boer 25-11-2007 15:46

Soortgenoot gevonden

Al surfend ben ik een soortgenoot tegen gekomen: webcollage.com. Deze beste man, Jamie Zawinski genaamd, is zo vriendelijk geweest om de broncode, een lap Perl script, openbaar te maken.

Collage 1

Collage een paar updates verder

ApFab is niet zo heel erg onder de indruk van de uiteindelijke representatie van de collage: de afbeeldingen worden in hun geheel gebruikt, iets verkleind en met een gefetherde rand over elkaar heen geplakt. Iedere minuut ververst de collage en komen er een stuk of wat nieuwe afbeeldingen boven op de oude set te liggen. Ieder plaatje heeft een link naar zijn bron.

Wel onder de indruk is ApFab van de manier waarop dit script aan zijn random beeldmateriaal komt, via een 7 tal bronnen op best wel brute en lompe wijze:

  • via Altavista random page en Yahoo random link: deze leveren een random internetpagina. De engine pluist de html van de random pagina uit en zoekt naar afbeeldingen.
  • Google Image Search: Met als zoekterm een random woord, een random getal of (!!)een filenaam in de vorm die verschillende digitale fotocamera’s uitpoepen. Bijvoorbeeld dsc1234.jpg voor een Kanon camera; hij behandelt alle gangbare merken camera. Ook hier pluist de engine de door Google (they are not amused) gegenereerde HTML uit en filtert hier ad random een url naar een plaatje uit.
  • De laatste afbeeldingen van Livejournal worden bekeken. Van Flickr. Of van de RSS feed van Flickr
  • Er wordt zelfs op het locale netwerk gezocht naar pics die door netwerkgenoten worden gedownload.

Uit bovenstaande zoekmethoden wordt per update (ook weer random) één methode gekozen.

Fab is momenteel drukdoende het script te bestuderen en flarden hiervan te vertalen (kleine vertaalslag tussen Pearl en PHP) voor gebruik in onze machine.

Groet, Fab

Ps. En alvast de beste wensen voor 2007!!

PsII. Kom maar op met al die ICTers...

Zeep!!

Bij het opzoeken van random beeldmateriaal, heeft Google een kadootje voor ons. De Google Random image SOAP. SOAP is een universeel protocol om te communiceren tussen servers met die met verschillende talen werken (bv tussen een server die PHP spreekt en eentje die alleen ASP spreekt). Zie hier een animatie die het kort uitlegt.

De Random Image Search (met in dit geval als zoekwoord ApFab) die we nu gebruiken om het bronmateriaal voor onze Zaps te gebruiken, maakt ook gebruik van het SOAP-protocol. Ze breiden hun database met zoekwoorden uit met ieder woord dat je invoert, vandaar dat hij zo lang inlaadt: hij geeft, na het inladen van het random plaatje, de gehele woordenlijst.

Het enige nadeel aan deze service van Google is dat de Bèta versie maar 1000 queries per dag verwerkt. Hierna zegt Google dat je maar beter naar bed kan gaan.

Dit is een goede reden om niet een webbased applicatie te schrijven. Of er voor te zorgen dat de aanvraag bij Google vanaf de computer van de gebruiker geschiedt.

Een andere manier om dit euvel te omzeilen: de standaard interface van Google Image Search gebruiken en op de één of andere manier de afbeeldingen hieruit plukken.

ApFab>Zen-Zap[ ]

Wat is een Zap[!!] Zap[!!] is de afkorting van Zapped Artificial Picture. De twee uitroeptekens staan voor Ap en Fab. Het produceren van een Zap!! begint met het vormen van een reeks zoekwoorden. Dit kan door het loslaten van een random functie op een woordenlijst, maar het kan ook een bewust samengestelde reeks zijn. Deze woorden zijn de zoekwoorden in Google Image Search. Bij iedere zoekopdracht gebruikt ApFab de bovenste afbeelding uit de lijst van Google; de op dat moment belangrijkste visuele representatie van dat woord volgens dè autoriteit op het Internet. Uit de zo ontstane verzameling afbeeldingen vormt ApFab een uniek nieuw beeld.

Wat is een Zen-Zap[ ] De Zen-Zap [ ] is het eerste type Zap[!!] die niet door ApFab geproduceerd is; zie het ontbreken van de twee uitroeptekens. In het Retort++ project heeft ApFab software ontwikkeld die continu beeldmateriaal van het net plukt, dit manipuleert en combineert en wederom terug plaatst op het Internet. Voor Retort++ heeft ApFab deze machine aan het werk gezet voor de hier aanwezige collage. Als zoektermen zijn de X / Y gpscoördinaten, de hoogte boven NAP, de lengte en breedte van deze twee muren genomen.

De Zen - Zap omschrijft zichzelf en vormt hierdoor zichzelf. Het is deze plek op het Internet. Het is Internet op deze plek.

 
projecten/apfab_zap/blog.txt · Laatst gewijzigd: 04-12-2007 11:53 door ap
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki