title: Why might EmguCV Gaussian blur not return identical results as OpenCV Gaussian blur?
body: <p>I'm experiencing a mismatch between the OpenCV GaussianBlur function and the EmguCv CvInvoke.cvSmooth/Image.SmoothGaussian functions.</p>
  
  <p>The GaussianBlur call:</p>
  
  <pre><code>GaussianBlur(src, dest, Size(13,13), 1.5, BORDER_REPLICATE);
  </code></pre>
  
  <p>The EmguCV call:</p>
  
  <pre><code>CvInvoke.cvSmooth(src, dst, SMOOTH_TYPE.CV_GAUSSIAN, 13, 13, 1.5, 0);
  </code></pre>
  
  <p>In both cases, src is a 32F, 3 channel image.  I have verified that the contents of src are identical (saved them as bmp and did binary diff).</p>
  
  <p>The cvSmooth call in opencv looks like this:</p>
  
  <pre><code>CV_IMPL void
  cvSmooth( const void* srcarr, void* dstarr, int smooth_type,
            int param1, int param2, double param3, double param4 )
  {
      cv::Mat src = cv::cvarrToMat(srcarr), dst0 = cv::cvarrToMat(dstarr), dst = dst0;
  
      if( smooth_type == CV_GAUSSIAN )
          cv::GaussianBlur( src, dst, cv::Size(param1, param2), param3, param4, cv::BORDER_REPLICATE );
  }
  </code></pre>
  
  <p>...which seems to be doing the same thing my original OpenCV call is doing.  CV_GAUSSIAN is defined as 2 in both EmguCV and OpenCV.  The results end up very close, but the EmguCV image comes out a little bit blurrier than the OpenCV image.  Any ideas?  I also crossposted <a href="http://www.emgu.com/forum/viewtopic.php?f=7&amp;t=2904" rel="nofollow">this question on the EmguCV forum</a>.</p>