Login  Register

How to do 2-D Gaussian convolution by 2 1-D convolution kernels?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options Options
Embed post
Permalink
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

How to do 2-D Gaussian convolution by 2 1-D convolution kernels?

panovr
34 posts
Hi,
 the Gaussian convolution is often used in image processing, and it
says that 2-D Gaussian convolution can be separated by 2 1-D Gaussian
convolution (thus more computation efficient). I have several questions in
implementing Gaussian convolution:
 1. How to compute 1-D and 2-D Gaussian convolution kernel?
 2. How to smooth image by 2 1-D Gaussian convolution kernel?
 3. How to compute image gradients by 2 1-D Gaussian convolution kernel?
 I have read some image processing books, but can not find related
information.
 Thanks!

--

Yili Zhao
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: How to do 2-D Gaussian convolution by 2 1-D convolution kernels?

Gluender
25 posts
Dear Yili Zhao,

separation of a 2D Gaussian into two 1D Gaussians is pure mathematics:

exp[-(x^2 + y^2)] = exp(-x^2) exp(-y^2)

>Hi,
>  the Gaussian convolution is often used in image processing, and it
>says that 2-D Gaussian convolution can be separated by 2 1-D Gaussian
>convolution (thus more computation efficient). I have several questions in
>implementing Gaussian convolution:
>  1. How to compute 1-D and 2-D Gaussian convolution kernel?
>  2. How to smooth image by 2 1-D Gaussian convolution kernel?
>  3. How to compute image gradients by 2 1-D Gaussian convolution kernel?
>  I have read some image processing books, but can not find related
>information.
>  Thanks!
>Yili Zhao

Convolution with a Gaussian will never result in something like a
gradient-image, because it mmeans lowpass filtering. What you perhaps
mean is convolution with "Difference of two Gaussians" (DOG) having
different variances which results in lowpass-filtered Laplace-like
operations.

All this is quite basic mathematics and signal processing and should
be treated in the better image processing books. You might also
investigate the corresponding code of ImageJ.

HTH
--


                   Herbie

          ------------------------

          <http://www.gluender.de>
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: How to do 2-D Gaussian convolution by 2 1-D convolution kernels?

panovr
34 posts
In reply to this post by panovr
Hi,
> Convolution with a Gaussian will never result in something like a
> gradient-image, because it mmeans lowpass filtering. What you perhaps
> mean is convolution with "Difference of two Gaussians" (DOG) having
> different variances which results in lowpass-filtered Laplace-like
> operations.
  yes, my main objective is want to implement an image pyramids
structure, and it seems that Gaussian smoothing and "Difference of two
Gaussians" are used, and in order to improve computation efficiency,
separately Gaussian convolutions should be used. Any recommendations?
  Thanks!

--
Yili Zhao