Kmeans clustering in YUV image space

2 ビュー (過去 30 日間)
Algorithms Analyst
Algorithms Analyst 2013 年 2 月 7 日
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

回答 (2 件)

Thorsten
Thorsten 2013 年 2 月 7 日
[idx C]=kmeans([U(:) V(:)],NoColors,'EmptyAction','singleton');

Elad
Elad 2013 年 7 月 6 日

カテゴリ

Help Center および File ExchangeCluster Analysis and Anomaly Detection についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by