ComfyDeploy: How comfyui-some-image-processing-stuff works in ComfyUI?

What is comfyui-some-image-processing-stuff?

Some ComfyUI nodes that provide some image-processing functionality. Resampling, Color Grading, Inpainting, ...

How to install it in ComfyDeploy?

Head over to the machine page

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for comfyui-some-image-processing-stuff and select it
  5. Close the build step dialig and then click on the "Save" button to rebuild the machine

Some Image Processing Stuff for ComfyUI

This is a collection of some image processing nodes that I have written both for my own use and curiosity.

Nodes

Resampling

The resampling nodes handle resizing images using nearest-neighbour and filter-based resampling methods. The process of resampling can be applied to images, masks, and latents. This is done through the use of one of the base resampling nodes:

  • Resample Image
  • Resample Mask
  • Resample Latent

These nodes takes an input as well as a resampler and scaler. The resampler provides the resampling method to be used for resampling, and the scaler provides the method for determining the size of the output.

We provide the following resamplers:

  • Resampler | Nearest-Neighbor
  • Resampler | Triangle
  • Resampler | Lanczos
  • Resampler | Jinc-Lanczos
  • Resampler | Mitchel-Netravali
  • Resampler | Area

We provide the following scalers: | Scaler | Description | |-|-| | Scaler | Side | Scale both sides by a single multiplier. | | Scaler | Sides Unlinked | Scale each side by their own multiplier. | | Scaler | Fixed | Scale the image to a fixed resolution. | | Scaler | Pixel Deltas | Each side has a delta added to their length. | | Scaler | Area | Scale the area of the image by a multiplier while maintaining the aspect-ratio of the image. | | Scaler | Megapixels | Scale the area of the image to a set number of megapixels while maintaining the aspect-ratio of the image. |

Color Grading

The Color Grading node provides the following color grading operations: | Operation | Associated Input | |-|-| | Color Filter | red, green, blue | | Exposure Adjustment | exposure | | Saturation Adjustment | saturation | | Contrast Adjustment | contrast | | Tonemapping | tonemap |

Each of the color grading operations in done in a HDR colorspace, which is why a final tonemapping operation is required to return the image to an SDR colorspace.

Inpainting

The inpainting nodes provide the operation necessary for mask-crop inpainting, i.e. inpainting where you crop to some bounding box around the to-be-inpainted area before running it through the model. The two main nodes are Mask-Crop Inpaint | Pre and Mask-Crop Inpaint | Post, which together handle croping and resizing of the image and mask before inpainting, and the resizing and compositing of the inpainted area back on to the original image after inpainting.

Mask-Crop Inpaint | Pre

| Input | Description | |-|-| | image | The image to be inpainted. | | mask | The mask of the area to be inpainted. | | resampler | The resampler to be used to resize the cropped region. | | scaler | The scaler to be used to determined the resized size of the cropped region. | | square | Whether the bounding-box of the mask should be forced to be square. | | area_mult | How much the area of the bounding-box of the mask should be multiplied by to determine the cropped region. | | color_shift | To what the average value of the cropped region should be adjusted (0.0 disables this). |

| Output | Description | |-|-| | image | The cropped and resized region. | | mask | The mask similarly cropped and resized. | | latent_mask | The above mask properly resized for use for masking the latent. | | context | The context that Mask-Crop Inpaint | Post requires for the post inpaniting operations. |

Mask-Crop Inpaint | Post

| Input | Description | |-|-| | image | The inpainted image. | | mask | The mask to be used for compositing the inpainted area onto the original image. | | context | The context from the Mask-Crop Inpaint | Pre node. | | resampler | The resampler to be used to resize the inpainted output before compositing. |

| Output | Description | |-|-| | image | The result of compositing the resized, inpainted area back on to the original image. |

Other

| Node | Description | |-|-| | Latent Zero Mask | Zeros a masked area of a latent to prepare it for full-denoise inpainting. | | Blur Mask | Blurs and expands a mask to facilitate better compositing of inpainted areas. | | Mask-Crop | Pre and Mask-Crop | Post | Stripped down versions of the main inpainting nodes that do no resizing or color shifting for use with other tools and workflows. |

Examples

Resampling

Resampling example.

Color Grading

Color grading example.

Inpainting

Inpainting example.

Detailing

Detailing example.