2013-02-20 54 views
0

附像素是附帶MATLAB但施加[fuzzy c-means]1尋找那些符合特定標準

enter image description here

另外,如從該算法的輸出後的cameraman.tif的圖像u2(程度的從屬關係一個像素)。有關此數據,請參閱matlab.mat

我想要做的是從圖像中選擇像素(u2值爲equal to 1)。

這是如何在matlab做任何想法?

謝謝。

回答

3

獲取適當的像素指標:

ind = find(u2 == 1); % return indices of all pixels with u2 eq to 1 

獲取themselfs

pixels = img(ind); 
+0

當我這樣做'u2',我得到:儘管有值等於'1'。這是爲什麼?謝謝 – Simplicity 2013-02-20 13:32:30

+1

這可能是由於數字問題。如何找到(abs(u2-1)<1e-6)'? – Shai 2013-02-20 13:37:54

+1

當我檢查'matlab.mat'時,當您查看單元格值時,它會顯示'1.0000'。但是,當我雙擊單元格時,我驚奇地發現:'0.999999999259113'!這似乎是爲什麼我得到一個空矩陣作爲返回值... – Simplicity 2013-02-20 13:44:02

2

或者,你能避免使用查找和直接進入logical indexing像素。

給定一個形象:

>> image = [1 3 5; 2 3 1; 3 2 2] 

image = 

    1  3  5 
    2  3  1 
    3  2  2 

可以使用條件iamge == 2找到值2的像素:

K>> image == 2 

ans = 

    0  0  0 
    1  0  0 
    0  1  1 

例如如果你想操作通過設置這些像素他們到7你可以很容易地做到這一點與一條線: