Hacker News new | comments | show | ask | jobs | submit login
The almost-magical "content aware fill" plugin from a few days ago...on gimp. (newslily.com)
194 points by blhack on Mar 26, 2010 | hide | past | web | favorite | 39 comments

My first attempt. Here's the before:


Here's the after:


Not perfect, but not too bad either, given that it took 30 seconds to do it. I'm sure the size and shape of the selection changes the result, and then the filter has a "radius" parameter which by default is set to 100 and can be changed, and I guess it will change the result.

I would like to say, though, that the original is a fantastic picture.

A camelduck, from one of Neal Asher's worlds ? Must be harmless, don't remember it being written up. (So, the runcible network is up ?)

Well, in the worst case, you just re-apply the filter on the part you're not satisfied with (for example, those white areas at the bottom).

It is a great starting point to make Trotsky-duck disappear on Stalin's orders. http://i.imgur.com/xK6Jl.jpg The wealth of free tools is just amazing these days.

Well, it's still quite obvious that something is missing there, as the central area of the picture is visibly less blurred than its surrounding. I guess you could fix that easily by just blurring it with ordinary gimp blur. (But great start indeed, comrade. :o))

Another technique is to normal-crop out the sky and the distant grass that is so blurry, "content-aware" crop out the duck, then paste back in the stuff you originally cropped out. The white bits at the bottom are sky. The blurry bits are where grass far in the background was stitched in.

Haha, I played with exactly that picture with resynth yesterday too. :)

Not nearly as good as what the photoshop demo did. In particular, the photoshop demo had examples of content aware fill with shadows moving through the object to be removed. In this example you can see the line/shadow of the overhang being eliminated with the purse. Maybe the photoshop fill would have done the same and they just cherry-picked some examples, but right now I'm thinking it's just better.

It's hard to tell, because unless you had access to a different video than I did you can't really see what Photoshop did, even after bumping it up to 480p. In this case I think we have the raw files, so you have the chance to examine the results up close and personal. It's not a direct comparison.

Indeed, if there ever was a problem with true verification, it is the requirement that you have to do it yourself without anyone involved in the steps.

Even if it's only 75% as good, it's 1° free 2° free 3° free so it doesn't cost any money, and you can adapt it / enhance it. So it beats photoshop hands down easily.

Agreed -- when the trash is removed in the GIMP plugin, you can see that the line on the wall vanishes too -- the CS5 version seems like it would have extended it.

As far as I know, they're using the same algorithm. If you can find me a high-enough resolution desert picture like the one they used, I'll apply the filter to see...

If you are using Ubuntu (or Debian), installing this is even easier. Just install gimp-resynthesizer using aptitude or Ubuntu software centre

You also need gimp-plugin-registry if it's not installed. It contains the smart-remove filter.

You shouldn't have to manually install anything, in my experience. The package manager should take care of things.

Thank you! I couldn't find this info anywhere.

thanks for the tip, made it very easy to try out


Same pictures as the Video. Gimp actually does better here.

In the third picture, if you look in the bottom left and right corners, you can see a sudden colour change along the lines where the original picture's content ended. On the right, for example, the original cloud is sort of yellowish, then it suddenly becomes a more neutral grey along a diagonal line.

In the sky it's harder to tell, but it's still there too.

I agree, the CS5 version seems to be better.

Yeah, the GIMP one is only almost-almost-magical (plus free and available right now).

I actually posted that to hackernews a while ago: http://news.ycombinator.com/item?id=1221594 and it got only 5 votes. I guess the story title really matters.

Except those aren't actually the original picture. That's the picture with the trash already removed.

Not that I'm saying Gimp can't do as good of a job. It's exactly the same technology based on the same research. But I am saying that blog post is a tad dishonest.

Isn't it the exact same algorithm? The differences are probably only to do with how things are selected.

Probably not. There are a number of image inpainting, texture synthesis, and reconstruction algorithms that can be applied, with different behaviors regarding noise, color correction, detail scale, handling of regularity/irregularity, temporal coherence, run time, etc.

GIMP's Resynthesizer is based on a 2005 PhD thesis, while the Photoshop thing is probably based on a 2009 SIGGRAPH paper.



On Ubuntu 9.10, the packages you need to install are:

gimp-plugin-registry (it contains the smart-remove filter)


This dust removal GIMP tool seems nice, too: http://registry.gimp.org/node/13289

Does anyone have experience with it or something better to suggest?

It looks like it doesn't really have a UI -- is there a version factored out of GIMP that just takes the source image and a mask image as arguments?

For the art producers the Photoshop version would me massively superior just for integrating with the UI, but for our purposes a version of this as a standalone utility or baked into PIL or ImageMagick would be fucking awesome.

Gimp has a batch mode that lets you run commands without loading the UI. That would probably achieve the same thing, although it might be a little much if you're sure that all you want is resynthesizer.

As I said in the CS story, this is cool but nothing new. I don't see how it's different from Alien Skin's Image Doctor (http://www.alienskin.com/imagedoctor/index.aspx ), which has been available as a plugin for years. I've been using it from PaintShopPro for quite some time.

Too bad this plugin isn't being maintained by the author. It only works with GIMP 2.4 from what I'm reading. This tool should be adopted as a first class GIMP tool.

I've got it working on 2.6 (as well as 2.4).

What's the error that you're getting when you try to run it? Are you using the patched file from my tutorial?

The author writes on his homepage he is no longer maintaining it and hasn't been following the GIMP API changes. He is also looking for someone to take over:


(I forgot where I read about the "since 2.4" part.)

Works fine under Linux for me (Slack 13).

Does anyone have a link to the original research / paper?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact