Creating masks for objects in an image
13 views (last 30 days)
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:
![horses_copy.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/236838/horses_copy.png)
![horses_gt_r0_gcs500.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/236839/horses_gt_r0_gcs500.png)
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?
Answers (1)
Image Analyst
on 3 Sep 2019
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
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.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!