• Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    Python
  • Created about 2 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Local image masking tool for stable-diffusion-webui

Provides an external cv2 powered masking tool for https://github.com/AUTOMATIC1111/stable-diffusion-webui

Installation

Download the zipped script Here and copy the file external_masking.py into your scripts folder.

requires cv2 to be installed

py -m pip install opencv-python

Due to conflicting cv2 versions this extension cannot be used at the same time as the d8ahazard/sd_dreambooth_extension extension.

Guide

The UI inside stable-diffusion-webui is pretty simple Screenshot 2022-09-16 091930

Masking preview size controls the size of the popup CV2 window

Draw new mask on every run will popup a new window for a new mask each time generate is clicked, usually it'll only appear on the first run, or when the input image is changed.

The masking window itself is pretty minimal image

Showing the polygon currently being drawn in pink, left clicking starts a new polygon, right clicking closes the current polycon being drawn.

C to the clear current mask.

Q to quit and pass the current mask back to stable-diffusion-webui

Scroll the mouse wheel to zoom in

Middle click and drag to pan around the image

The mask drawn with the script will not be shown on the input image, but will be used for all outputs:

Screenshot 2022-09-16 091911

Incompatible opencv versions

Some users are reporting errors with the gui window functions like highgui\src\window.cpp:1250: error: (-2:Unspecified error) The function is not implemented. which seems to be down to having opencv-python-headless installed which doesn't include the gui code used to display the image windows, uninstall the current version and reinstall if you get a similar message:

# For global python:
py -m pip uninstall opencv-python-headless
py -m pip uninstall opencv-python
py -m pip install --upgrade opencv-python
# Or inside the stable-diffusion-webui venv:
venv\Scripts\python -m pip uninstall opencv-python-headless
venv\Scripts\python -m pip uninstall opencv-python
venv\Scripts\python -m pip install --upgrade opencv-python