Creating masks for objects in an image
Show older comments
I've seen some people who managed to create a mask for objects in an image and I would like to know how it's done. For example, below:


Where four horses are selected and masked as such, where the shapes are very well preserved. Could anyone explain how it's done or is there any matlab functions that allow me to do so?
2 Comments
Matt J
on 3 Sep 2019
Are you looking for an automatic segmentation method, or would a manual boundary tracing tool be enough?
Stewart Tan
on 3 Sep 2019
Edited: Stewart Tan
on 3 Sep 2019
Answers (1)
Image Analyst
on 3 Sep 2019
0 votes
Try the Color Thresholding App in HSV color space. Get everything with blue as one mask. Then make another mask with stuff with low saturation to get the building. Clean up each mask with imfill(), bwareafilt(), or bwareaopen() if needed. Then OR the two masks together and invert. You should be left with the horses.
2 Comments
Stewart Tan
on 3 Sep 2019
Edited: Stewart Tan
on 3 Sep 2019
Image Analyst
on 3 Sep 2019
You might try this: https://www.mathworks.com/matlabcentral/fileexchange/37197-dem-diffused-expectation-maximisation-for-image-segmentation
Or try segnet if you have the Deep Learning Toolbox.
Categories
Find more on Region and Image Properties in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!