像素我有這樣的圖像: 獲取屬於形狀
在該圖像I具有11個的形狀(像橢圓)。我想要找到每個形狀中每個像素的RGB(包括白色邊緣/邊界,因爲它是形狀的一部分)。
如果有幫助,我有每個形狀的中心座標。
非常感謝!
像素我有這樣的圖像: 獲取屬於形狀
在該圖像I具有11個的形狀(像橢圓)。我想要找到每個形狀中每個像素的RGB(包括白色邊緣/邊界,因爲它是形狀的一部分)。
如果有幫助,我有每個形狀的中心座標。
非常感謝!
這裏是讓你的工作更輕鬆的命令......
爲 「Superbest說:」 帶命令
%% Example%%
img = imread('coins.png');
BW4 = im2bw(img);
BW5 = imfill(BW4,'holes');
imshow(BW4), figure, imshow(BW5);
現在用命令bwlabeln填充圖像() ,找出聚類或形狀的數量。
%% Example%%
L = bwlabel(BW5);
figure,imshow(L,[]);
我會給你相同數量的形狀的數量給所有的像素屬於相同的形狀。 L包含BW中已連接組件的標籤。體重可以有任何維度; L與BW的大小相同。 L的元素是大於或等於0的整數值。標記爲0的像素是背景。標記爲1的像素構成一個對象,標記爲2的像素構成第二個對象,依此類推。
假設您有兩個形狀或區域,然後找到原始顏色或灰度值od,如下所示。
%% Example%%
cods = find(L==1);
Shape1(1:size(img,1),1:size(img,2))=0;
Shape1(cods) = img(cods);
%% Now shape1 is same size as img, but will have gray scale values at region1 locations only,you will get RGB valuse in shape1 image.. repeate it for as many shapes as you have in your image.
擁有一個美滿的編碼...
這是發生在我身上,因爲我正在審查問題的解決哈克:
現在,你可以簡單地得到粉色像素的列表:
foundPixels = find(img == pink); % pink holds the value for the pink color I used.
現在你可以使用原始圖像(pixels = original(foundPixels);
)對這些指數來獲得你想要的像素。
+1使用bwlabel的'()'。 – 2012-04-09 12:17:51