how to extract mean colour

1 回表示 (過去 30 日間)
kash
kash 2013 年 3 月 21 日
I have a image and code
HSV = rgb2hsv(I);
H = HSV(:,:,1); H = H(:);
S = HSV(:,:,2); S = S(:);
V = HSV(:,:,3); V = V(:);
idx = kmeans([H S V], 3);
cluster_idx=idx;
pixel_labels = reshape(cluster_idx,size(I,1),size(I,2));
figure,imshow(pixel_labels,[]), title('image labeled by cluster index');
segmented_images = cell(1,3);
rgb_label = repmat(pixel_labels,[1 1 3]);
for k = 1:3
color = I;
color(rgb_label ~= k) = 0;
segmented_images{k} = color;
end
figure,imshow(segmented_images{1}), title('objects in cluster 1');
figure,imshow(segmented_images{2}), title('objects in cluster 2');
figure,imshow(segmented_images{3}), title('objects in cluster 2');
for each segmented image i want to compute mean colur
plz assist
  2 件のコメント
Jan
Jan 2013 年 3 月 21 日
What is your question? What exactly is the "application of a color"?
kash
kash 2013 年 3 月 21 日
My question is I have 3 segmented images ,for each segmented image,
segmented_images{1}),segmented_images{2}),segmented_images{3}),for these 3 images i have to apply different colours,i tried using
X=segmented_images{1});
X(:,:,1)=1
X(:,:,2)=0
X(:,:,3)=0,
but could not get colour on that segmented image,plz assist

サインインしてコメントする。

採用された回答

Walter Roberson
Walter Roberson 2013 年 3 月 22 日
Z = zeros(size(pixel_labels));
T = double(pixel_labels == 1);
segmented_image{1} = cat(3, T, Z, Z);
T = double(pixel_labels == 2);
segmented_image{2} = cat(3, Z, T, Z);
T = double(pixel_labels == 3);
segmented_image{3} = cat(3, Z, Z, T);
  7 件のコメント
kash
kash 2013 年 3 月 22 日
thanks walter
Doug Hull
Doug Hull 2013 年 3 月 27 日
Thank him by accepting the answer. :)

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by