<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Emulating iplConvolve2D() using IPP in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Emulating-iplConvolve2D-using-IPP/m-p/903597#M13118</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I'm trying to implement iplConvolve2D() using ippiFilter and I'm not sure how to do it right.&lt;/P&gt;
&lt;P&gt;First of all, the IPL manual states that the combine method parameter (i.e. IPL_SUM, IPL_SUMSQ, IPL_MIN, ...) is ignored when using a single kernel. But I'm using a single kernel and it doesn't seem to beignored, because the output for each IPL_SUM, IPL_SUMSQ, etc, looks different in the IPL version!&lt;/P&gt;
&lt;P&gt;So Iwasassuming that for e.g. IPL_SUMSQ, even the result of applying a single kernel to the image needs to be squared. But if I do that using ippiFilter* and ippiSquare, the results look very different. Using ippiFilter with a single kernel and not doing anything to the results seems to yield the same image as iplConvolve2D() with IPL_SUM... But I'm lost as to how to make the others work.&lt;/P&gt;
&lt;P&gt;Does anyone have an idea how to do it right?&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
    <pubDate>Thu, 26 Oct 2006 20:21:17 GMT</pubDate>
    <dc:creator>nrw</dc:creator>
    <dc:date>2006-10-26T20:21:17Z</dc:date>
    <item>
      <title>Emulating iplConvolve2D() using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Emulating-iplConvolve2D-using-IPP/m-p/903597#M13118</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;I'm trying to implement iplConvolve2D() using ippiFilter and I'm not sure how to do it right.&lt;/P&gt;
&lt;P&gt;First of all, the IPL manual states that the combine method parameter (i.e. IPL_SUM, IPL_SUMSQ, IPL_MIN, ...) is ignored when using a single kernel. But I'm using a single kernel and it doesn't seem to beignored, because the output for each IPL_SUM, IPL_SUMSQ, etc, looks different in the IPL version!&lt;/P&gt;
&lt;P&gt;So Iwasassuming that for e.g. IPL_SUMSQ, even the result of applying a single kernel to the image needs to be squared. But if I do that using ippiFilter* and ippiSquare, the results look very different. Using ippiFilter with a single kernel and not doing anything to the results seems to yield the same image as iplConvolve2D() with IPL_SUM... But I'm lost as to how to make the others work.&lt;/P&gt;
&lt;P&gt;Does anyone have an idea how to do it right?&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Thu, 26 Oct 2006 20:21:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Emulating-iplConvolve2D-using-IPP/m-p/903597#M13118</guid>
      <dc:creator>nrw</dc:creator>
      <dc:date>2006-10-26T20:21:17Z</dc:date>
    </item>
    <item>
      <title>Re: Emulating iplConvolve2D() using IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Emulating-iplConvolve2D-using-IPP/m-p/903598#M13119</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;there is comment from our expert:&lt;BR /&gt;&lt;FONT color="#000080" size="2"&gt;&lt;BR /&gt;I would suggest the user to ignore that filter combination flag at first, unless his application needs this feature.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;For single kernel the easiest way to emulate iplConvolve2D is to:&lt;/P&gt;
&lt;P&gt;1) create temporary buffer that is &lt;KERNEL_COLUMNS 1=""&gt; pixels wider than the source and &lt;KERNEL_ROWS 1=""&gt; pixels taller,&lt;/KERNEL_ROWS&gt;&lt;/KERNEL_COLUMNS&gt;&lt;/P&gt;
&lt;P&gt;2) then, copy the source image to the interior of the buffer and add necessary borders at once using one of ippiCopy{Replicate|Const|Wrap}Border (Replicate is usually the best default option, but it may also be taken fro IplImage header).&lt;/P&gt;
&lt;P&gt;3) Call ippiFilter with source set to the temporary buffer and the destination set to the iplConvolve2D destination. That will automatically make in-place operation possible. &lt;/P&gt;
&lt;P&gt;Another option is to use cvFilter2D from OpenCV. It also operates on IplImage. It is able to use ippiFilter for small kernels and ippsDFT for large kernels.&lt;/P&gt;
&lt;P&gt;Note that cvFilter2D and iplConvolve2D/ippiFilter treat the array of coefficients differently, in cvFilter2D the array is flipped around the anchor point.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2006 06:27:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Emulating-iplConvolve2D-using-IPP/m-p/903598#M13119</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2006-12-16T06:27:42Z</dc:date>
    </item>
  </channel>
</rss>

