[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Smoothing Functions without distorting matrices' edges
From: |
Søren Hauberg |
Subject: |
Re: Smoothing Functions without distorting matrices' edges |
Date: |
Sun, 24 Sep 2006 10:38:42 +0200 |
Hi,
When you say "without severely distorting the edges" do you mean:
1) The border of the matrix, or
2) points with high gradients?
In the case of 1) you can use normalised convolution instead of regular
convolution. I'm attaching a simple function for this.
In the case of 2) you should probably use some non-linear diffusion. A
lot of people use the Perona-Malik algorithm, but in general I think the
algorithms of Joachim Weickert work better. You can find an
implementation of the Perona-Malik algorithm at
http://www.csse.uwa.edu.au/~pk/Research/MatlabFns/
Hope that helps just a little bit
Søren
lør, 23 09 2006 kl. 19:21 -0700, skrev Robert A. Macy:
> This may be slightly OT, but maybe someone may know an easy
> function to do this - smooth a matrix without severely
> distorting the edges.
>
> I have a matrix, say 1200 by 150, containing "trend"
> values. Each row is expected to be much like an adjacent
> row and across the columns tends to be some unknown gentle
> curvature. The matrix contains a high percentage of noise,
> as much as 300%.
>
> I have written my own smoothing techniques to prevent
> severe distortion to the edges of the matrix, but alas
> being non-vectorized they are very slow.
>
> The best candidate so far has been to use conv2 buried in a
> specialized processing function, coupled with a small size
> profile.
>
> How does one smooth a matrix and NOT severely distort the
> edges? Is there some easy way to do this?
>
> - Robert -
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://www.cae.wisc.edu/mailman/listinfo/help-octave
safe_conv.m
Description: Text Data