Есть ли способ принять фильтры нижних частот и высоких частот в следующем коде и объединить их в одно ядро и применить одну функцию conv2()?Комбинируйте свернутый фильтр в matlab
примечание: длина (lfilter) = 21, длина (hfilter) = 81.
, что мы в основном делаем на последнем этапе говорит, чтобы удалить крупные объекты из изображения (после того, как уже удаление очень маленькие объекты с гауссовским размытием).
properties (Constant)
minStar = 2; % min star radius
maxStar = 8; % max star radius
threshold = 12;
end
function filter2(this)
normalize = @(x) x/sum(x);
lfilter = normalize(exp(-((-ceil(5*this.minStar):ceil(5*this.minStar))/(2*this.minStar)).^2));
hfilter = normalize(exp(-((-ceil(5*this.maxStar):ceil(5*this.maxStar))/(2*this.maxStar)).^2));
this.low = conv2(lfilter',lfilter,this.raw,'same');
this.high = conv2(hfilter',hfilter,this.raw,'same');
this.filtered = this.low - this.high;
this.foreground = this.filtered > this.threshold;
end
Хорошая точка о том, что они линейные. :) – eigenchris