BadCafeCode / masquerade-nodes-comfyui

A powerful set of mask-related nodes for ComfyUI
MIT License
360 stars 36 forks source link

Ideas/requests for new mask manipulation features #21

Open alessandroperilli opened 8 months ago

alessandroperilli commented 8 months ago

Amazing custom node suit, @guill. Thanks for sharing it with the community.

I have a couple of ideas/requests to submit for your evaluation:

1. Expand mask in arbitrary ways in one or more direction. Right now, a feature like dilate, expands the size of the mask in every direction by the same amount. I would LOVE to have a node that allows me to expand, for example, 10px to the right, 3px to the left, 50px to the top, etc.

2. Generate random & uneven mask edge I'd love to use your nodes to create a collage effect, where each masked image is a paper scrap. To achieve that, I'd need a way to generate the uneven border of a teared piece of paper, and this border should be always different from the others, thanks to some sort of border/edge generator.

Perhaps, this hypothetical border/edge generator could even generate other things, like semi-random spikes, which would make it suitable for other use cases, like comics bubbles.

Just two ideas to make this great custom node suite even more useful (to me...).

Thank you!

fcolecumberri commented 7 months ago

I would also add the idea of moving the mask, specially with faces the mask usually is quite down, so if dilate, the body is reached way before reaching the top of the head, so moving it up could be good.

squallseeker commented 7 months ago

I'd like to use model based upscalers which seem to require image edges be divisible by 8 or toss an error. While I've got a convoluted way to pull BBOX detections through segs to dimensions and have math nodes compute the next larger 0 remainder modulo to expand the image output of cut-by-mask, I haven't yet figured out how to tweak the mask itself to then update the segs to pass through a segs detailer. Having the ability the directly set the mask as suggested in the original request above would help immensely.