spillerrec / Overmix

Automatic anime screenshot stitching in high quality
http://spillerrec.dk/category/software/programs/overmix/
GNU General Public License v3.0
193 stars 14 forks source link

Inpaint colors from SkipRender #135

Open spillerrec opened 5 years ago

spillerrec commented 5 years ago

It would be very nice to integrate this into Overmix so you wouldn't need to export the image and do the inpainting in another application.

Based on my information gathering so far there are several methods which can work very well with random missing information. One of the most promising is based on K-SVD which can also handle several other problems such as image denoising and bayer demosaicing.

A github repo inplementing it in Matlab: https://github.com/chongyangtao/Color-Image-Inpainting

For older methods which are not learning based, Bertalmío has made a lot of relevant papers on inpainting algorithms which should be suitable.

As a start it might be relevant just to add something simple which works as a quick preview.

spillerrec commented 5 years ago

A very simple inpainting method have been added which just picks the closest available pixel. This produces nearly as good results as the Solify filter in G'MIC, and if you add a little bit of Gaussian blur they are very similar. This is very shocking, that the G'MIC filter is that bad. More testing is needed, but I'm disappointed (and a bit hopeful).

spillerrec commented 5 years ago

I have tried the matlab implementation of K-SVD and it was not very impressive. It is able to connect dots to smooth lines instead of the rough edges that appears with the other methods, however it is very noisy instead. This does seem to be without any previous knowledge, so perhaps it can be improved. I only did limited testing as the implementation took over an hour per image to run.

The code implements Delaynay triangulation which seems to be used to some degree, perhaps as initial estimate. This is a decent improvement over the quick solution added above, but still only helps smoothing out the image a bit. The G'MIC result from the tutorial is actually quite a bit better than what I saw from my other samples (and better than the results from the matlab code imho), perhaps I need to thinker a bit more with the settings.