Files
Brent Liu 2febeaeb53 Update README.md
Fixed some `README` weirdness.
2026-10-24 15:25:19 -04:00

46 lines
2.7 KiB
Markdown

# ComfyUI-TeaNodes
Adds a few new nodes:
### Image Equalization CLAHE (This node can't be any more Kornia)
* When images have their histogram smoothly distributed, I'd say it gives ControlNet preprocessor an easier time.
* Works great when image BG is removed.
### Image Size Approximation
* Works based on pixel count that retains Image ratio.
* This algorithm is really dumbly written, but it works.
* Great for stabilizing the speed of image-to-image generation.
### Image Resize
* Takes size tuple from Size Approximation Node.
* Seriously, image size always has 2 numbers, why can't it fit through a single wire?
* It also defaults to a node socket instead of having to convert it into input from a widget.
### Image Scale
* Simply multiplies image size by a factor.
* 20240425: Now scales smoothly when multiplied by non-power-of-2 factors - use LANCZOS option now
* Have an easier time saving in-process scrap images at half or quarter resolution.
### Crop To
* Crop an image to the same size of the reference image
* Hate some of those nodes that complains about bad tensor dimensions for whatever reasons? Fear no longer.
### KorniaGamma
* This works like an easy/complex/idk brightness/contrast/level adjustment node
* Image processing power must be utilized for better results.
### Random & Non-Random Color Fill
* Fill based on reference image size
* Randomness defined by original color and a variance in hue, saturation and value
* Hopefully the color input field works for most color string formats.
### Random Lora & Model
* Uses regex pattern to filter down files within `models/checkpoints`, `models/loras` directory and then randomly choose one to load.
* `every=#` parameter allows the chosen model to run only `#` number of times until randomly selecting another.
* `pause=True` allows the current running model to run indefinitely.
* `skip=True` or any changes in `pattern` will trigger a random selection ASAP, `skip` doesn't stop loop counting, but changes in `pattern` will.
* Models are pooled, which can lead to maxing out the RAM usage, Python seem to be able to handle this on its own without issue.
* If a model has been used before in the same session, the node won't need to access the file from SSD/HDD again, it's already in the RAM.
* `RESULT` outputs the working state of the node, use `Preview As Text` or `Show Text` node to understand time until next randomization, which model is being used currently, previously and how many times, or which ones hasn't been used yet from the found files.
* If the regex pattern went wrong or if there are no models found, a random model will be selected from all available under the respective `checkpoints` or `loras` folder.