I don't have an iPhone but I'd really like to use that app. Is there any chance of a version everyone can use?
It's written in Objective-C for now, but I think ports could be a good idea if many people like this app. But please just post the image URL and I will convert it for you here.
Are you planning in making this app part of the Android market ?
Manuel, this depends on how people like this program. The ideal situation would be that it works on as many phones as possible. For now, I'll take one step at a time...
You should should just port it so that it works on a webpage or something like that and then point them to apps store
Just tried it out – first picture I tried out blew me away. Fantastic app
James, that's great! Hope you can also add that comment at the App Store reviews if you have time!
excellent work. i love it. well worth the 99 lincolns.
i'm wondering if you have any plans to allow users to remove or change the "Signed, MagicArtist" in the future? that's the only part of the final output that would be helpful to have control over – everything else works amazing!
I don't have an iPhone myself, but...
Even if you want to keep the signature as branding, you should remove the word "Signed". No artist would write "signed" before they sign their name, and I can see why some people are objecting to this.
Yeah, there's a good chance that signature will be removed when you save an image in the next version of the app, I was quite undecided whether to have it in during creation of the app. It's still needed to display to indicate when the drawing is done and to give this some identity, but it's probably not needed in the saved image. Whether or not to use the word "signed" was another thing I wasn't too sure about :)
If you load the same image in more than once, will it paint the exact same picture/result or will it vary the output each time (e.g. random algorithm variations)?
Que, no two images will ever be the same. Sometimes a result may also look better, or be more colorful in certain areas. There's a lot of unpredictable stuff happening :)
In fact, during development, there was a bug in the program causing very false color strokes in certain circumstances. After we fixed the bug, we realized we liked it so much that in the final version, we bring the "bug" back temporarily during drawing.
Since no-one has posted a photo URL yet, here's one. I have a hunch it might be a "difficult" image because it's mostly red:
The above photo is by Glutnix
and is Creative Commons Attribution licensed.
(Sorry for the double-post; I clicked "Submit" too early)
The end result is very impressive. Thanks!
Great app, Philipp! I already tried to write a review in the AppStore, but i only get the known "null_explanation" error message.
I just liked the idea, I bought this app just for this idea. It works really well. Great app
Are you allowed to sell both free and paid versions? If so I'd have the Magic Artist signature and for a small fee have a paid version without?
This is awesome!
Did you write your own library to go from a picture to a drawing and if yes how did you do it?
Very interesting app. I hope you make it available on the Android market in the future..
Iolaire, yes one can sell "Lite" versions of apps in the App Store. However, the signature was not really meant as watermark, it was meant to give the drawing a more personal identity, to make it a work of the Magic Artist... so we'll probably be just removing it in the next version based on feedback (an alternative is introducing a Settings dialog but either way you have to decide on a default, so outsourcing that decision to users may just be moving the problem).
Alex, I didn't do the programming of the iPhone version (I prototyped this in Canvas), but yes we did the algorithm from scratch. There are two theories involved: 1) the algo should approach the picture as an artist might, i.e. it's about emulating the process and not emulating the result (though the former may achieve the latter), and 2) we make the bet that the algo is either rather simple and already quickly achieves 80% good results (it's content agnostic, more impressionist, knows nothing about the world and its colors and things, scales naturally), or it's nearly impossible because pushing it very far might involve a lifetime of studying object analysis, AI and so on (for that to work it betters knows *a whole lot* about the world, e.g. face detection wouldn't suffice as you also need flower, car, building... detection).
Perhaps luckily for the simplicity of such an algo, "Don't lie" and "don't interpret" might already be two good rules for drawing in a certain way. Typically what we might consider less well-done and more child-like art, is when the person drawing something translates visuals to language, then back to visuals... doing so means in the drawing, a person's eye becomes the symbol "eye", that is, it's generalized (it could be anyone's eye, it's not like the person's eye!), separate from its surrounding (it's cartoon like and has distinct contour, it's not a work of a world of dynamic world shadows and colors and so on), and interpreted (introducing subjectiveness, or perhaps lies?).
Sidenote: beauty does not equal effectiveness in understanding the picture... perhaps the average time for understanding "eye" in the amateur drawing would be quicker than in the impressionist painting, so sometimes the one approach might be better than the other, it depends on what you want to achieve! And on that note, indeed, if an app would want to draw a cartoon caricature, perhaps using a face recognition library would be a very useful first step, so that you actually do get "eye", "nose", "mouth" etc. as distinct objects... so that you can then tell a funny lie about them. (Perhaps that's something worth exploring for another app...)
Edit/ update: We now made a video for this:
+ Show video
Philipp, I think my only critique of the final image is the random white splotches that appear throughout. I think it detracts from some images while enhancing others. For example – the girl on the bench – the white marks in her hair look like bird droppings. However, in the tomato slice image, the random white marks blend well with the original composition. I know the software doesn't distinguish image content, nor should it, but would it be possible to have the 'white splotch effect' be an optional feature that could be turned on/off or at least limit the effect?
Que, I know what you mean, and I was pondering using face recognition to trigger certain things like further refinements in some areas. Several people already complained about the white splotches. For nature and still life settings and pretty much anything non-face/ portrait, a more abstract picture worked better whereas faces often require more resemblance... indeed, we already reduced the white splotches quite a bit in comparison to earlier versions, but still kept in a rather high level of abstraction to prevent the result from looking like a photo. If we find a way to have the software make the decision, so that it's "magic" and not a setting, it would be ideal. Well, I have some ideas of what to try out, and I will listen to more feedback too...