BradLarson / GPUImage2

GPUImage 2 is a BSD-licensed Swift framework for GPU-accelerated video and image processing.
BSD 3-Clause "New" or "Revised" License
4.85k stars 605 forks source link

Improving mask edges #327

Open jb-apps opened 2 years ago

jb-apps commented 2 years ago

Hi everyone 👋, amazing framework GPUImage!

I am very new to image processing, sorry if I mix up things.

I am working on a segmentation problem for macOS, I get a mask of size 320x320 that I need to scale up to the original image size then I can applied the mask against it.

The problem I am facing is when scaling up using Lanczos resampling I get very smooth edges in the scaled mask, then when getting the segmented image I can see the background, (this is very noticeable in the hair).

Original image Segmented image Small mask LanczosResampling
original image result small mask Scaled

For masking I am just doing:

let maskedImageRef = originalImageCGImage.masking(cgImageMask)
let maskedImage = NSImage(cgImage: maskedImageRef, size: size)

return maskedImage.drawImage()

Any advice on how can I improve make the edges?

Thank you! ❤️