如何在matlab中获取图像的两个子集?

时间:2015-09-16 12:12:31

标签: matlab

如果我有两个阈值T1 = 26且T2 = 80。 第一子集具有小于T1的像素,而另一子集具有大于T2的像素。 原始图像的像素值在0-255和尺寸200 * 200之间。我想找出那些子集的均值和方差。

2 个答案:

答案 0 :(得分:0)

如果您正在寻找大于阈值的指数值:

image = randi([0 255], 200); % the image data
indices_1 = find(image<26)
indices_2 = find(image>80)

答案 1 :(得分:0)

假设 im 是图像:

img_vect = im(:);
sub1_idx = find(img_vect<T1);
sub1_mean = mean(img_vect(sub1_idx));
sub1_std = std(img_vect(sub1_idx));

使用阈值重新计算 T1 ,并使用更大的 T2 运算符重复相同的过程。代码可以合并为两行,但我将其分开以便清楚。