我正在寻找对图像进行背景减去。我是 MATLAB 新手,也是图像处理/分析新手,如果这听起来很愚蠢,我很抱歉。 1) 除减法()还有其他方法可以进行背景扣除(除了将一张图像与另一张图像进行比较之外)吗? 2)在数学作品中解释对于 imsubtract() 为什么他们将其结构元素设为磁盘?到目前为止,这似乎相当困难,因为每次我尝试一些东西时,我最终不仅会减去嘈杂的背景,而且还会丢失我想要查看的图像部分!
您使用什么样的图像?
背景减法简单。如果你想减去一个常数值,或者与图像大小相同的背景,你只需写img = img - background
. imsubtract
只需确保背景大于图像的地方输出为零。
背景估计很难。在那里你需要知道你正在看什么类型的图像,否则背景估计将会失败。
例如,如果您的点或线特征要么在明亮的背景上全黑,要么在黑暗的背景上明亮,则可以使用局部最大过滤器(imdilate
)或局部最小滤波器(imerode
)分别大于您的特征,因此无论您在何处放置滤镜蒙版,都会有一些像素覆盖背景。另外,您希望过滤器的形状与特征有些相似。就您而言,如果丢失了部分图像,您可能需要尝试使过滤器变大(但不要太大)。
不用减去最大值或最小值,减去中值也可以很好地工作,尽管您必须选择过滤器大小,以便过滤器蒙版内通常有大部分背景像素。不幸的是,中值滤波相当慢。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)