Kmeans clustering in YUV image space

3 vues (au cours des 30 derniers jours)
Algorithms Analyst
Algorithms Analyst le 7 Fév 2013
Hi all.
I have a problm in kmeans clustering using matlab.when I apply kmeans function in my image I get following error
Warning:Emty Cluster created at iteration 1.
Warning:Emty Cluster created at iteration 2.
Warning:Emty Cluster created at iteration 3.
Warning:Emty Cluster created at iteration 4.
I am using it becasue I am reducing colors of image and want to get the most representative colors of image. How can I solve this error.y code is under
NoColors=40;
K=40;
[Rows Cols NumberofColors ]=size(image);
s_img=size(image);
inputImg=zeros((s_img(1)*s_img(2)),3);
inputImg(:,2)=U(:);
inputImg(:,3)=V(:);
inputImg=double(inputImg);
%Kmeans starting
[idx C]=kmeans(inputImg,NoColors,'EmptyAction','singleton');
% %Kmeans Completed
palette=round(C);
% %Color Mapping
idx=uint8(idx);
outImg=zeros(s_img(1),s_img(2),3);
temp=reshape(idx,[s_img(1) s_img(2)]);
for i=1:1:s_img(1)
for j=1:1:s_img(2)
outImg(i,j,:)=palette(temp(i,j),:);
end
end
Remember image is in YUV space and just want to quantize the color of UV image.
Thannks

Réponses (2)

Thorsten
Thorsten le 7 Fév 2013
[idx C]=kmeans([U(:) V(:)],NoColors,'EmptyAction','singleton');

Elad
Elad le 6 Juil 2013

Catégories

En savoir plus sur Cluster Analysis and Anomaly Detection dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by