Мастера подскажите пожалуйста как написать морфологический фильтр: эрозия.
Эрозия — осуществляется путем операции логического "И" между состоящей из единиц маской S размером n*n и накрываемым маской фрагментом бинарно квантованного изображения L.
Помогите пожалуйста.
Здравствуйте, Serg_M, Вы писали:
S_M>Мастера подскажите пожалуйста как написать морфологический фильтр: эрозия. S_M>Эрозия — осуществляется путем операции логического "И" между состоящей из единиц маской S размером n*n и накрываемым маской фрагментом бинарно квантованного изображения L. S_M>Помогите пожалуйста.
Эрозия, как и дилация относятся к разновидности фильтров, применяемых к изображению.
Надо в цикле для каждого пикселя изображения "прогнать" этот фильтр (маску), т.е.:
for j:=0 to Ymax-1 do
for i:=0 to Xmax-1 do
begin
sum := 0;
for jj=-(n div 2) to (n div 2) do
for ii=-(n div 2) to (n div 2) do
begin
x = i+ii;
y = j+jj;
...
c = Pixel[x,y];
sum = sum+c;
...
end;
newC = sum/koeff;
Pixel[i,j] := newC;
end;
Насколько помню, вроде, так. Надо только правильно подобрать коэффициент и проследить, чтобы пиксели были всё время внутри изображения, а также newC — в допустимом диапазоне.