С каким изображением вы работаете?
Фон Вычитание легко. Если вы хотите вычесть постоянное значение или фон того же размера, что и ваше изображение, вы просто пишете img = img - background
. imsubtract
просто гарантирует, что вывод равен нулю, если фон больше, чем изображение.
Фон Оценка сложно. Там вам нужно знать, на какое изображение вы смотрите, иначе оценка фона будет неудачной.
Если у вас есть, например, точечные или линейные объекты, которые являются либо темными на ярком, либо яркими на темном фоне, вы можете пройти с помощью локального фильтра максимума (imdilate
) или локального фильтра минимума (imerode
), соответственно, это больше, чем ваши объекты, поэтому, где бы вы ни разместили маску фильтра, там есть некоторые пиксели, которые покрывают фон. Кроме того, вы хотите, чтобы фильтр имел форму, похожую на элементы. В вашем случае, если вы потеряете часть своего изображения, вы можете попробовать увеличить фильтр (но не слишком большой).
Вместо вычитания максимума или минимума вычитание медианы может работать хорошо, хотя вы должны выбрать размер фильтра так, чтобы внутри маски фильтра обычно было большинство фоновых пикселей. К сожалению, медианная фильтрация довольно медленная.