|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
Genetic Python plugin - faster draw and fillHi,
maybe you have read about Roger Alsings "Evolution of Mona Lisa" ( http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/ ). I am trying to write a plugin (script) for GIMP that does something like this. The plugin should create a lot (maybe 500000 to 1000000) generations of new images and try to resemble the original image as much as possible using only polygons(each generation consists of 1 to 10 images, and "dies" as soon as a new generation is born, so I dont plan on having a million images open at the same time ;). Basically its working like I want - I can create new images, create a selection based on evolved points using gimp_free_select and fill the selection in the right color and opacity. And in the end I get something that looks like Roger Alsings Mona Lisa. ( http://sanguis-lunae.de/Uni/ml5-10000.bmp is what I get after 10000 generations) But its slow. It takes 30 minutes for only 20000 generations. There are so many ways of doing this I cant try them all. So thats my question: What is a good ( the best?) way to draw about 50 shapes, each with 3 - 10 points (I only use polygons, but I might try circles, brush strokes or something else later) over and over again and then compare it to a given image? My ideas so far: Simple but slow: create new image gimp_free_select to make a selection from a list of points set_foreground to choose a color edit_bucket_fill to fill selection copy "goal" image to new layer in this image set layer to DIFFERENCE mode merge read mean value from histogram (this indicates how similar the two layers were ( zero would be perfect) mutate a copy of the polygon image (slightly alter one of the polygons, all other stay the same) and repeat or a second idea: my algorithm only changes one polygon in each new image, so I often draw the same shapes over and over again: create a new layer for each shape bucketfill shapes on their layers merge all 50 layers reuse layers for next generations and so on problem: merging takes a lot of time and the original 50 layers are lost if I dont copy them to a new image before merging, so its just as fast as my first idea And I thought of using path objects for my polygons, but these have to be converted to selections anyway, as they cant be bucketfilled? But maybe there is a much better way? Frederik -- GMX FreeDSL Komplettanschluss mit DSL 6.000 Flatrate und Telefonanschluss für nur 17,95 Euro/mtl.!* http://portal.gmx.net/de/go/dsl02 _______________________________________________ Gimp-developer mailing list Gimp-developer@... https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer |
|
|
Re: Genetic Python plugin - faster draw and fillFreddy (bigbadwolf21@...) wrote (in part) (on 2009-06-19 at 05:25): > maybe you have read about Roger Alsings "Evolution of Mona Lisa" ( > http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/ > ). I am trying to write a plugin (script) for GIMP that does > something like this. The plugin should create a lot (maybe 500000 to > 1000000) generations of new images and try to resemble the original > image as much as possible using only polygons(each generation > consists of 1 to 10 images, and "dies" as soon as a new generation is > born, so I dont plan on having a million images open at the same time > ;) . Have you considered ImageMagik? I'm not well-qualified at either scripting Gimp nor anything but simplest tasks in ImageMagik (just lurk on the IM-list) but the tasks you describe *might* be possible in it and possibly somewhat quicker? Basically its working like I want - I can create new images, create a selection based on evolved points using gimp_free_select and fill the selection in the right color and opacity. And in the end I get something that looks like Roger Alsings Mona Lisa. ( http://sanguis-lunae.de/Uni/ml5-10000.bmp is what I get after 10000 generations) btw: the image link you gave and the upper level of your URL both fail to load. Are they working? -- Regards ... Alec (buralex@gmail & WinLiveMess - alec.m.burgess@skype) _______________________________________________ Gimp-developer mailing list Gimp-developer@... https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer |
|
|
Re: Genetic Python plugin - faster draw and fill> > Alec Burgess (buralex@...) wrote (in part) (on 2009-06-19 at 05:45): > Have you considered ImageMagik? I'm not well-qualified at either > scripting Gimp nor anything but simplest tasks in ImageMagik (just lurk > on the IM-list) but the tasks you describe *might* be possible in it and > possibly somewhat quicker? Thanks, ImageMagick looks interesting, I guess I could use it for my project. But I found several similar projects that are stand-alone, online Flash-based or JavaScript. I want to try something new, and so far nobody made a script or plugin for GIMP / Photoshop or any other image editing software that uses genetic algorithms to approximate an image. At least I could not find any. If I dont get it to work with GIMP, ImageMagick will be the next thing I am going to try. > btw: the image link you gave and the upper level of your URL both fail > to load. Are they working? They should. If it still does not work: It looks like one of Roger Alsings images at about 10000 generations, look at his 10415.jpg. Frederik -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 _______________________________________________ Gimp-developer mailing list Gimp-developer@... https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer |
|
|
Re: Genetic Python plugin - faster draw and fillFreddy wrote:
>> Alec Burgess (buralex@...) wrote (in part) (on 2009-06-19 at 05:45): >> Have you considered ImageMagik? I'm not well-qualified at either >> scripting Gimp nor anything but simplest tasks in ImageMagik (just lurk >> on the IM-list) but the tasks you describe *might* be possible in it and >> possibly somewhat quicker? > > Thanks, ImageMagick looks interesting, I guess I could use it for my project. But I found several similar projects that are stand-alone, online Flash-based or JavaScript. I want to try something new, and so far nobody made a script or plugin for GIMP / Photoshop or any other image editing software that uses genetic algorithms to approximate an image. At least I could not find any. If I dont get it to work with GIMP, ImageMagick will be the next thing I am going to try. You might want to look at Inkscape. Polygon manipulation is more of a vector than a raster process, and Inkscape already has useful functionality that you can likely build off of. For instance, potrace (which is built into Inkscape), could save you a lot of trouble in implementing a quantitative, deterministic fitness measure (which you could subsequently fiddle with, of course). While gimp might tell you whether pixels are close, a traced image may be better able to tell you if the _shapes_ are close. http://www.inkscape.org/doc/tracing/tutorial-tracing.html --xsdg _______________________________________________ Gimp-developer mailing list Gimp-developer@... https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer |
| Free embeddable forum powered by Nabble | Forum Help |