InvokeAI/docs/features/INPAINTING.md
Matthias Wild ec2dc24ad7
Mkdocs-material (#575)
* Squashed commit of the following:

commit 82d9c25d9a87ea5f6fbdb0445313e48cd8ae3035
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 19:29:11 2022 +0200

    fix branch name in mkdocs-flow

commit 2e276cecc1942050ae8b22f4a417c576c49763a1
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 19:28:35 2022 +0200

    fix theme name

commit 2eb77c1173598e161e8a5a9812b021b831363183
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 19:14:42 2022 +0200

    fixed some links and formating in main README

commit 66a7152e48e8c66c9286f47a6b088920a8fcdcd8
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 08:58:58 2022 +0200

    trigger mkdocs deployment on main

commit 897cc373ce4f9d18d8cb2837b5931c4b674c836b
Merge: 89da371 3b5a830
Author: Matthias Wild <40327258+mauwii@users.noreply.github.com>
Date:   Wed Sep 14 07:51:23 2022 +0200

    Merge pull request #1 from mauwii/mkdocs

    Mkdocs

commit 3b5a8308eb6b7ee572ff07f78829f64bcf55b4d9
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:42:56 2022 +0200

    huge update
    I was pretty busy trying to make the Readmes / docs  look good in MkDocs

commit 0b4f5a926ff8aad1460e0be8093ee02d719a576d
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:41:45 2022 +0200

    update mkdocs config

commit 872172ea7008aa1217c1259c7ecab16ddafd1a0e
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:33:49 2022 +0200

    added the mkdocs-git-revision-date-plugin

commit eac81bf87588ec88b65f3415aa838c330fbd621b
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 06:46:43 2022 +0200

    add  prettier config
    remove markdownlint
    move and rename requirements-mkdocs.txt

commit b36d4cc088a49af56026aa2dd2e85d6bfb181bd1
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 02:06:39 2022 +0200

    add dark theme

commit a14f18fede6febccf1c117cba50a1aff1eac80a9
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 01:38:02 2022 +0200

    update mkdocs flow and config

commit 2764b48693ed382bc01a2cb7aab282dbf95cd9ee
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 01:15:33 2022 +0200

    add mkdocs workflow

commit 1bd22523b1a52ac24bc5f950debb450f903c2d51
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 00:57:37 2022 +0200
    I already begun with formating /  revising the sites

* change repository in mkdocs config to lstein

* adapt changes from repos main README.md

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-09-15 10:53:41 -04:00

1.8 KiB

title
Inpainting

Creating Transparent Regions for Inpainting

Inpainting is really cool. To do it, you start with an initial image and use a photoeditor to make one or more regions transparent (i.e. they have a "hole" in them). You then provide the path to this image at the dream> command line using the -I switch. Stable Diffusion will only paint within the transparent region.

There's a catch. In the current implementation, you have to prepare the initial image correctly so that the underlying colors are preserved under the transparent area. Many imaging editing applications will by default erase the color information under the transparent pixels and replace them with white or black, which will lead to suboptimal inpainting. You also must take care to export the PNG file in such a way that the color information is preserved.

If your photoeditor is erasing the underlying color information, dream.py will give you a big fat warning. If you can't find a way to coax your photoeditor to retain color values under transparent areas, then you can combine the -I and -M switches to provide both the original unedited image and the masked (partially transparent) image:

dream> "man with cat on shoulder" -I./images/man.png -M./images/man-transparent.png

We are hoping to get rid of the need for this workaround in an upcoming release.

Recipe for GIMP

GIMP is a popular Linux photoediting tool.

  1. Open image in GIMP.
  2. Layer->Transparency->Add Alpha Channel
  3. Use lasoo tool to select region to mask
  4. Choose Select -> Float to create a floating selection
  5. Open the Layers toolbar (^L) and select "Floating Selection"
  6. Set opacity to 0%
  7. Export as PNG
  8. In the export dialogue, Make sure the "Save colour values from transparent pixels" checkbox is selected.