Mercurial > hg > octave-image
changeset 70:60d9de5e7dd8
Use filter2's default "same" flag to control result size
author | pkienzle |
---|---|
date | Fri, 30 Jul 2004 01:14:32 +0000 |
parents | d1dd4571c877 |
children | fcff6ca3400a |
files | dilate.m erode.m |
diffstat | 2 files changed, 2 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/dilate.m +++ b/dilate.m @@ -63,22 +63,12 @@ error("dilate: alg not implemented."); endif - # store size of BW1 - s=size(BW1); - - # calculate center pixel for SE - # TODO: check MATLAB to see if in case size(SE) is even - c=floor((size(SE)+1)/2); - e=s+c-1; - # "Binarize" BW1, just in case image is not [1,0] BW1=BW1!=0; for i=1:n # create result matrix - BW1=filter2(BW1,SE,'full'); - # discard borders - BW1=BW1(e(1):-1:c(1),e(2):-1:c(2)) > 0; + BW1=filter2(SE,BW1)>0; endfor BW2=BW1;
--- a/erode.m +++ b/erode.m @@ -63,14 +63,6 @@ error("erode: alg not implemented."); endif - # store size of BW1 - s=size(BW1); - - # calculate center pixel for SE - # TODO: check MATLAB to see if in case size(SE) is even - c=floor((size(SE)+1)/2); - e=s+c-1; - # count ones in mask thr=sum(SE(:)); @@ -79,9 +71,7 @@ for i=1:n # create result matrix - BW1=filter2(BW1,SE,'full'); - # discard borders and "binarize" - BW1=BW1(e(1):-1:c(1),e(2):-1:c(2)) == thr; + BW1=filter2(SE,BW1) == thr; endfor BW2=BW1;