Good foreground segmentation methods apart from Canny
I have a grey scale image (single channel data) and want to perform something like the Canny edge detection operation on it for foreground segmentation. But, the output has a lot of noise. I also tried bilateral filtering along with it but it didn't help the output.
Can someone please help point me in the correct direction on how to go about this?
Thank you.
Code snippet:
v = np.median(vis)
sigma = 0.33
lower = int(max(0, (1.0 - sigma) * v))
upper = int(min(255, (1.0 + sigma) * v))
edges = cv2.Canny(vis,lower,upper)
edges = cv2.Canny(depth_vis,lower,upper)
Below is a sample picture of current Canny detector output.
what ? all it does is edge highlighting, not segmentation at all.
please explain, what you are really trying to achieve here. what is the goal of your program ?
Hello, thank you for the reply. Yes, I'm sorry about the wrong usage of terms. But, I'm doing edge detection first and will later go for segmentation of a part of the body part from image. But currently, I'm not able to achieve good edge detection from the data. (getting a lot of unnecessary contours). Please advise. Thank you.
this might be a bad idea. never throw away color and gradients too early
it's 2019, and we have proper cnn's for this
Thanks for the suggestion about CNN. But, I'm trying to achieve edge detection without using CNN (they need more resources). Hence I would like to resort to classical image processing techniques. Please let me know if you have another suggestion.
Thank you.
suggestion for what ? you never told us, what problem youÄre trying to solve.