Bckground subraction using k means
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have tried background subtraction algorithm using k means with matlab. Step 4 and 5 are difficult to understand. kinldly check and do the needful
1: Idown ←Down-sample the image to 25% of its original size using
simple linear interpolation.
clc;
clear;
close all;
I = imread ('45.jpg');
Idown=imresize(I,[256,256]);
2: Get the S channel of Idown and consider it as an 1-d vector V of
pixel intensities.
I_hsv = rgb2hsv(Idown);
HSV_s = I_hsv(:,:,2);
HSV_s_1 = HSV_s(:);
3: Perform Dbin ←K-Means(V, k = 2).
Dbin = kmeans(HSV_s_1,2);
4: MapM ← Dbin back to image space. For that just do a linear scan
of Dbin.
please help this step ( how to do linear scan?)
5: Mup ←Up-sample the generated binary mapMback to the input
image size.
please help this step
6: Close small holes on Mup using the Closing morphological operator
with a disk structuring element of radius 7 pixels.
se = strel('disk', 7)
closeBW = imclose(Mup,se);
**********************************************************
Please check the above steps and do the needful
0 commentaires
Réponse acceptée
Image Analyst
le 18 Fév 2019
Since the color of the objects is nearly the same color as the background, I would probably not use color segmentation or kmeans. I'd probably use stdfilt() to identify "rough" things. The background will be smooth so you can then threshold it away.
3 commentaires
Image Analyst
le 22 Fév 2019
Attached is a start. try playing with the parameters to see if you can optimize it.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!