将位置转换为二进制掩码并使用此类掩码过滤图像

时间:2013-08-31 21:00:32

标签: image matlab mask roi image-masking

假设我们有一个像素被标记为12的图像。我们如何在MATLAB中执行以下操作?

  • 1s2s的位置转换为二进制掩码
  • 使用这些面具过滤图像

感谢。

1 个答案:

答案 0 :(得分:1)

示例:

% some RGB image
img = im2double(imread('peppers.png'));
[h,w,~] = size(img);

% lets create some random labels. I'm simply dividing into two halves,
% where upper half is labeled 1, and lower half labeled 2
labels = [ones(h/2,w)*1; ones(h/2,w)*2];

% compute masks and filter image using each
img1 = bsxfun(@times, img, labels==1);
img2 = bsxfun(@times, img, labels==2);

% show result
subplot(121), imshow(img1)
subplot(122), imshow(img2)

images