Coder Social home page Coder Social logo

templeblock / unufo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ethercrow/unufo

0.0 2.0 0.0 244 KB

fork of resynthesizer (http://www.logarithmic.net/pfh/resynthesizer) gimp plugin aimed at better object removal while dropping texture transfer capabilities

License: GNU General Public License v2.0

Makefile 1.47% HTML 14.38% C 10.20% C++ 65.08% Scheme 8.87%

unufo's Introduction

Unufo
=============

    Unufo is the gimp plugin for removing UFOs from photos. People who don't know that also use it for retouching photos, torturing manga and just for lulz.

    Unufo is originally based on Resynthesizer plugin, available at http://www.logarithmic.net/pfh/resynthesizer


Installation
============

    make
    make install # yes, without sudo. This installs plugin and loader into your $HOME/.gimp-2.6 directory

Development packages needed for compilation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    * libgimp
    * gtk

Usage
=====

This plug-in is used via the script-fu loader available at Filters/Enhance as 'Heal selection'.

Options:

    * Radius to take texture from

        This option is only meaningful when reference layer is **not** used

        Source region is the bounding box of the destination region plus the border of width equal to this option's value. OK, you can drop re-reading the previous sentence and just look at the picture: TODO: actually add the picture

        Quality/Performance impact: obviously, you should set this so that source region is relevant to the desired content in destination region. Performance impact is negligible.
        
    * How many randomly chosen patches to consider as a source
        
       The same as the previous option, but for the global search in source region. The best value for this parameter, however, is much less obvious and depends on the source region texture, quality requirements and the phase of the moon.

       Generally, increasing this parameter's value causes linear computation time increase and (tux-knows-what-kind-of-function) quality increase.

    * Patch size (larger = slower)

        This parameter controls the size of patches used in all comparisons while searching. Again, the enlightening picture:
        TODO: hey, I said add pictures!

        Q/P impact: the most computation-intensive part of algorithm depends quadratically on this parameter. The best value for this parameter is about the size of distinguishable feature of the source region. Or, I guess, larger if the source region texture is highly regular.

    * Transfer unit size (smaller = slower, but possibly less artifacts)

        Q/P impact: computation time depends about inverse-quadratically on this parameter. You should set this as high as possible while not introducing blocking artifacts

    * Invent gradients

        This allows algorithm to fill the area of tranfer unit size with gradient, if that is better (i.e. minimizes the patch difference) than all reviewed patches (neighbour and from the source region)

        Q/P impact: Performance impact is negligible. If you don't mind plain and boring gradients in your destination region, you should enable this parameter

    * Max color adjustment applied to transferred patch
    * Apply the same amount of adjustment to all channels
    * Use manually defined reference area
    * Reference map layer

unufo's People

Contributors

ethercrow avatar

Watchers

James Cloos avatar simongao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.