当我对任何图像进行分类时,它返回一个图像i-e二进制图像,其中包含背景和前景的表示。 现在,如果我想只为任何目的使用图像的背景.....怎么做..我的意思是在分割后我现在得到一个二进制图像如何识别(或采取)背景的值。 ??????
答案 0 :(得分:1)
% Assume you have these variables:
% 'mask' - binary segmentation results, all 1's or 0's.
% 'img' - original image.
% 'bgImg' - Output, containing background only.
bgImg = zeros(size(img)); % Initialize to all zeros.
bg(mask) = img(mask); % Use logical indexing.
答案 1 :(得分:0)
我假设你有一个灰度图像。当你的分段目标为1,背景为0时,只需进行元素矩阵乘法即可得到目标图像。这类似于掩蔽。如果你只想要背景,你可以做(1 - 二进制图像)并对原始图像进行类似的乘法。请记住,这是元素明智的乘法,而不是矩阵乘法。
答案 2 :(得分:0)
如果您想测量前景/背景区域的统计数据,一个有趣的选择是regionprops
% img - variable containing original grey-scale image
% mask - binary mask (same size as img) with 0 - background 1 - foreground
% using regionprops to measure average intensity and weighted centroid,
% there are MANY more interesting properties ou can measure, use
% >> doc regionprops
% to discover them
st = regionprops( mask + 1, img, 'MeanIntensity', 'WeightedCentroid');
% get BG avg intensity:
fprintf(1, 'Avg intensity of background = %.2g\n', st(1).MeanIntensity );