This repository is a quick port of a/Resynthesizer to ComfyUI. Resynthesizer is the open-source implementation of a texture generation technique proposed by Paul Harrison in 2005, especially useful for removing an object from an image (inpainting), which is most likely close to what Photoshop uses to for the content aware fill feature. Note that this is not using a diffusion model to inpaint, as opposed to many techniques of today, which makes it very fast and predictable, but sometimes yields worse results.
This repository is a quick port of Resynthesizer to ComfyUI.
Resynthesizer is the open-source implementation of a texture generation technique proposed by Paul Harrison in 2005, especially useful for removing an object from an image (inpainting), which is most likely close to what Photoshop uses to for the content aware fill feature. Note that this is not using a diffusion model to inpaint, as opposed to many techniques of today, which makes it very fast and predictable, but sometimes yields worse results.
This extension is not available on the manager. To add it to your ComfyUI instance, follow these instructions:
ComfyUI/custom_nodes/
directory, run the command: git clone https://github.com/brayevalerien/ComfyUI-resynthesizer
.resynthesizer
Python library by running: pip install resynthesizer
.You should then be able to restart ComfyUI and use this extension. If not, please open an issue.
This node simply calls the resynthesize
function from the resynthesizer
Python library, handling the image conversion and passing your arguments. The library is poorly documented and I've not experimented a lot or read the actual papers explaining the algorithm so unfortunately I can't document this node properly for now, but I will update this readme to add more info later if possible.
The following workflow automatically creates a mask according to the prompt given to Segment Anything (a cat in this example) and uses the Resynthesize node from this extension to remove the object.
Drag and drop this image into ComfyUI to open the workflow. It requires the Segment Anything extension in addition to this one.