Arcimbolder
9 de Noviembre del 2008
WHAT IS ARCIMBOLDER?
Arcimbolder is my latest creation, an image filter software that recreates an image as a collage of objects from an object pack. It is inspired by the artworks of Giuseppe Arcimboldo, a 16th century painter known for creating portait heads made of fruits and vegetables.
DOWNLOAD AND USAGE
You can download Arcimbolder 0.2 alpha here. It doesn’t require installation to run, you just have to unpack all the files and directories inside the downloaded zip file and then run arcimbolder.exe. Remember that it is an experimental -alpha- version, use it at your own risk.
Main menu
In the main menu, click on “Open image” to select the image you want to filter. Then, select a Quality option, a Background color option and an Object pack option. After that, press on “Generate” to start the rendering process.
Rendering process
During the rendering process, if you can click on the rendered image, the process will temporaly stop and a “Save image” button and a original image thumbnail will appear.
By clicking on the thumbnail, you will switch view from the rendered image to the original image, so you can compare the result.
By clicking on “Save image” you can save the current result as a jpeg image.
Clicking again on the rendered image, the rendering process will continue.
The rendering process never stops by itself -you decide when the results are good enough for you.
OBJECT PACKS
There are 2 object packs included with Arcimbolder 0.2, and more will be released soon. Note that packs that are currently provided are just tests and are not yet attuned. I’m also preparing an object pack developer kit, so you can create your own packs.
Arcimboldo’s fruits & vegetables v.1
It includes 57 fruit and vegetable objects directly cropped from Arcimboldo’s paints.
Van Gogh’s brush strokes v.1
It includes 85 Van Gogh brush strokes cropped from some of his paints. The results with this object pack are
similar to oil paints.
Update on 11/10/08: AOP File Format details
QUALITY
The output quality varies depending of the Quality option selected, the object pack selected, the input image and the time you give to the rendering process.
Low: it is thought to be for a fast preview, having low precision. It should render several objects per second in an average computer.
Medium: a good average between speed and precision. It should render about one object per second in an average computer.
High: it renders with a very high precision, but it is very slow -about 1 object every 10 seconds in an average computer-. It is thought to be used only when medium quality is not enough.
BACKGROUND COLOR
It is an useful option when your input image has a flat background color. Matching the input image background color with the background color option, you will have a object-free background in your output, perfect for illustration purposes (e.g. Arcimbolder’s logo was done this way).
REQUIREMENTS
Arcimbolder requires a minimum of 512 Mb of RAM and Windows XP or Vista.
I have also tested it under Kubuntu with Wine, and it seems to work by right clicking on arcimbolder.exe - Open With - Wine.
THE TECHNOLOGY BEHIND ARCIMBOLDER
Arcimbolder uses a computer vision technique called template matching to search for the best positions of objects. Template matching is a computationally expensive task (i.e. very slow), so there are aproximation algorithms that aim to get good enough -but not the theoretically best- results in a reasonable time.
In the case of Arcimbolder, due to the avant-garde use of template matching, none of the common and already developed aproximation algorithms was useful, so I had to develop custom algorithms from scratch, ranging from adaptative Monte Carlo searchs to what I call fuzzy color histogram analysis.
Even if the current code is highly optimized, there is yet room for improvements in future versions.
TO DO LIST
- Release new object packs
- Release the object pack developer kit
- Support for different image formats and resolutions
- Use MMX for a faster memory access (I expect about 20% of speed improvement)
- SMT/Multicore version (70% of speed increase expected on dual core machines)
- Cleaning, restructuring and commenting the source code to release it as open source
- Mac OS and Linux ports
Fuckawesome™!
Impressive! good work! :O
Really nice :)
Which framework do you use for the GUI of the application?
Kile: I’m using a own simple GUI I coded some years ago, modified a bit for this project. It have only buttons, text rendering and few more… but enough for the project.
Excelente trabajo Sr. Román Cortés !!!
[…] escrito lo encontré en inglés en el blog de Román Cortés,pero lastimosamente en el post no hay (o no llegué a ver) un link al post […]
Let us make our object packs plz!
Si, por el nombre del dominio pensé que el artículo era de alguien más. Perdón por la confusión, ahora mismo corrijo el post. Por cierto, excelente aplicación! Lo que me parece curioso es que escribas primero en inglés y después te cueste escribir lo mismo en español, jaja. A mi también me costó pensar en una buena traducción para esos términos, me parece que queda mal la forma en que escribí pero no se me ocurre otra. Saludos
This is really fascinating! I’m ready to try experimenting with some home-made object packs. Let us know when we can edit them ourselves.
[…] d’explications en anglais sur Arcimbolder à cette adresse. Cette vidéo explique le fonctionnement du logiciel à partir d’un portrait de Barack Obama […]
En realidad bastante alucinante esta aplicación, vamos a decargarla y jugar con ella a ver que sale :D
It even works in Crossover Mac ! No need of Windows to run it.
Awesome.
Please give us the promised Picasso Objects pack ;)
I find Arcim to be a very exciting and even useful program. One thing I wish existed in the program however, is a function to apply a probability mask for the input image. Ie, in the most simple case, a mask where black meant “don’t touch this pixel”, ie for backgrounds. In fact, even a binary on/off mask would work fine. :)
Ok, a few more comments.
*Why the crappy image quality. The jpeg quality is substandard, and the size 700*700 isn’t too good either. Maybe your way of making sure the program can’t be used commercially?
If the size is fixed to 700*700 because of CPU reasons, you could still do the analysis on the small image and blit the elements on a canvas of the size of the original image. (Assuming analysis takes more CPU than blitting)
And it should be possible to increase the jpeg quality if the lib you’re using is any good at all. Of course, PNG would be even better.
*Maybe the last used options could be saved and reloaded the next time you launch the program?
*Maybe you could support a second file format for object packs, like an ini file+two images. Makes experimenting a little easier by eliminating one step in the process.
*You can only use 6 packs at a time (Boo-hoo!) What about a browse button?
*I mentioned PNG before… What about taking it one step further and draw on an alpha transparent canvas. Ie, every stroke is blitted to the canvas including the alpha channel, and you get a PNG-24 image with alpha. This way you can easily open the resulting image up in your favourite software and keep modifying it. The background colour would rather work as a matte colour in this mode.
I’m sure there’s more, but that’s what I could think of ATM.
Nitro2k01:
I’m working on all the details you said… and more :) Thanks for the feedback.
[…] Arcimbolder vi permette proprio di emulare l’originalità di questi artisti senza il minimo sforzo: […]
[…] Román Cortés » Arcimbolder Arcimbolder is my latest creation, an image filter software that recreates an image as a collage of objects from an object pack. It is inspired by the artworks of Giuseppe Arcimboldo, a 16th century painter known for creating portait heads made of fruits and vegetables. - UNA FIGATA MONDIALE! - (tags: software photoshop image) […]
I noticed that the rendering of face details is very slow. I mean, it happens that a background keeps on updating even if it has reached a satisfacting quality after few strokes, while a face would require many more iterations, that are “wasted” for unnecessary background refinement.
Maybe someone else made the same proposal, anyway what about defining a mask which would account for the “detail relevance” on different area of the input image? I think it would be a great improvement.
Great software anyway! I’m going to try to make my own packs thanks to the format details.
Great piece of software, great idea! :)
Here is my first pack for everyone:
http://www.raist.cz/prenos/arcimbolder-emopack.zip
(made from scanned splashes & drops)
Sample output:
http://www.raist.cz/prenos/arcimbolder-emopack-sample.jpg
Great tool! Good work!
Btw: It isn’t allowed to post links in comment? I have made few new objectpacks, but my comment with download links doesn’t appear here :\
Preview of new pack:
http://www.raist.cz/prenos/sasha_pencils.jpg
waaa!! es un pasote esto… enhorabuena javi.
[…] Arcimbolder vi permette proprio di emulare l’originalità di questi artisti senza il minimo sforzo: […]
Your soft is Great ! I am waiting for the next version… Thanks a lot !
Philippe
France.
Great software.
It works perfectly under linux-wine.
Thanks,
Antonio.
I love this! Can’t wait for the next version also! Am using it as a way to artistically render sketchup images
This is the best Autopainter that I’ve ever run across too w.r.t. quality. I shared my result on another blog that I frequent and shared your link too. Kudos to your work and do look forward to more object packs and the object pack developer’s kit too. :)
I agree with Lyle (whose recommendation led me here) - this program is amazing! It feels like i am watching a painter :) Bravo!! I hope you continue to develop this, and I hope you get lots of support! Best wishes, Jeree
The software has now its own professional life with some of the finest presets: http://www.mediachance.com/dap/
Yeah; we had a discussion on that at DPR’s Retouch forum today concerning it. Is Arcimbolder now part of this software? :)
I went ahead and purchased it Roman. I don’t purchase tools/filters lightly but this one’s too good not too. Photo-art has been a hobby of mine for well over 7 years now and I see so many countless possibilities with this gem.
I looked at the DAP trial. Is there a way to control the output resolution in the full version?
You can only control the size when you first open the application up and before you load a target image. The control is located under Tools>Settings. Once you open an image up, you can not change this setting. I’m sure a future update will allow for this. :)
[…] Arcimbolder […]
It crashes always … on a Windows xp machine !
[…] El creador de Arcimbolder seguramente está muy orgulloso (quién no lo estaría?), la compañía MediaChance tomó los algoritmos originales de Arcimbolder y los mejoró para crear Dynamic Auto Painter, un software que convierte cualquier fotografía en una pintura, con una variedad de estilos diferentes. El ejemplo de la playa es impresionante: […]
Really awesome mate!
Not the first time I play with it. I’m really impressed of the results.
When do you release new object packs and when do you release the source code? I would like so much to see how you’ve done it…
Thanks for sharing that tool btw.
R.
Just I find out to me on this tool and needed something for a work thus. Thanks for the contribution!
Thanks for the material I am going, it to try in my Web
thinks a lot for your creation.
c’est magique!
super cool!
Stunning! Good work.
[…] Arcimbolder – un filtro para imágenes que recrea una imagen en forma de collage de objetos tomados de un pack de objetos. […]
[…] Re: Feather Arcimbolder Object Back Vera. Before DAP became what it is, Roman created Arcimbolder; was going to open source it, but couldn’t find any takers, so he did the prudent thing (sold it) and hope he gets rich since DAP is a pretty cool tool. http://www.romancortes.com/blog/arcimbolder/ […]
[…] islevsel olarak küçük bir program daha var, aslinda islev olarak ayni olmasina ragmen Arcimbolder kurulum gerektirmeyen ve dogrudan çalisan bir program. Adobe Photoshop Plugin benzeri bir […]
J’ai découvert votre logiciel par hasard et je dois dire qu’il m’a épaté, époustouflé étonné ! Mes compliments Sr. Román Cortés.
J’utilise habituellement DynamicAutoPainter, mais arcimbolder et tout aute chose..
Merci
[…] from everyone. I read about the AOP effect on here yesterday so I downloaded it for free here http://www.romancortes.com/blog/arcimbolder/ and used it on my Mission photo. I also added a palm tree. I like the effect of the AOP program. […]