找到符合特定标准的像素

时间:2013-02-20 12:31:15

标签: matlab for-loop matrix pixel fuzzy-c-means

附件是matlab附带的cameraman.tif图片,但在应用[fuzzy c-means] 1之后

enter image description here

此外,由于算法的输出是u2(像素的隶属度)。有关此数据,请参阅matlab.mat

我想要做的是从u2值为equal to 1的附加图像中选择像素。

有关如何在matlab中完成此操作的任何想法?

感谢。

2 个答案:

答案 0 :(得分:3)

获取适当像素的索引:

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

自己获取像素

pixels = img( ind );

答案 1 :(得分: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来操纵这些像素,则可以使用一行轻松完成:

image(image == 2) = 7

image =

     1     3     5
     7     3     1
     3     7     7