<?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 IPP Thresholding in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787177#M2105</link>
    <description>&lt;P&gt;I'm doing a C# application for visual computing - and needs a RGB thresholding.&lt;/P&gt;&lt;P&gt;Id like to set the RGB24 pixel to e.g. (255,255,255) when the thresholding condition is true. For this I tried the ippiThreshold_Val() function, like below:&lt;/P&gt;&lt;P&gt; unsafe private ipp.IppStatus ThresholdVal(byte* pSrc, byte* pDst, int Width, int Height, int bytePerPixel, byte[] thresholdValues, System.Drawing.Color objCol, ipp.IppCmpOp cmdOp)&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; ipp.IppStatus st = ipp.IppStatus.ippStsNoErr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; int Stride = bytePerPixel * Width;&lt;/P&gt;&lt;P&gt; ipp.IppiSize roi = new ipp.IppiSize(Width, Height);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; byte[] objectValues = new byte[3] { objCol.B, objCol.G, objCol.R };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; fixed (byte* fixThresholdValues = thresholdValues)&lt;/P&gt;&lt;P&gt; fixed (byte* fixObjectValues = objectValues)&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; if (pSrc == pDst)&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; st = ipp.ip.ippiThreshold_Val_8u_C3IR(pSrc, Stride, roi, fixThresholdValues, fixObjectValues, cmdOp);&lt;/P&gt;&lt;P&gt; // st = ipp.ip.ippiThreshold_8u_C3IR(pSrc, Stride, roi, fixThresholdValues, cmdOp);&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; else&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; st = ipp.ip.ippiThreshold_Val_8u_C3R(pSrc, Stride, pDst, Stride, roi, fixThresholdValues, fixObjectValues, cmdOp);&lt;/P&gt;&lt;P&gt; // st = ipp.ip.ippiThreshold_8u_C3R(pSrc, Stride, pDst, Stride, roi, fixThresholdValues, cmdOp);&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; return st;&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But to my surprise it doesnt work at all  seems that nothing happens?&lt;/P&gt;&lt;P&gt;Using the ippiThreshold() instead works better. A threshold is done, but the pixel is not set to the value Im wanting?&lt;/P&gt;&lt;P&gt;Furthermore ultmately I would like the thresholding conditon to be true only if all three thresholding channel criterias are meet, i.e only modify the pixel if e.g. ((PixRedChannel &amp;lt; PixRedThreshold) &amp;amp;&amp;amp; (PixGreenChannel &amp;lt; PixGreenThreshold) &amp;amp;&amp;amp; (PixBlueChannel &amp;lt; PixBlueThreshold)), is this possible with the IPP?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
    <pubDate>Mon, 07 Mar 2011 10:03:03 GMT</pubDate>
    <dc:creator>nmunk</dc:creator>
    <dc:date>2011-03-07T10:03:03Z</dc:date>
    <item>
      <title>IPP Thresholding</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787177#M2105</link>
      <description>&lt;P&gt;I'm doing a C# application for visual computing - and needs a RGB thresholding.&lt;/P&gt;&lt;P&gt;Id like to set the RGB24 pixel to e.g. (255,255,255) when the thresholding condition is true. For this I tried the ippiThreshold_Val() function, like below:&lt;/P&gt;&lt;P&gt; unsafe private ipp.IppStatus ThresholdVal(byte* pSrc, byte* pDst, int Width, int Height, int bytePerPixel, byte[] thresholdValues, System.Drawing.Color objCol, ipp.IppCmpOp cmdOp)&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; ipp.IppStatus st = ipp.IppStatus.ippStsNoErr;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; int Stride = bytePerPixel * Width;&lt;/P&gt;&lt;P&gt; ipp.IppiSize roi = new ipp.IppiSize(Width, Height);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; byte[] objectValues = new byte[3] { objCol.B, objCol.G, objCol.R };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; fixed (byte* fixThresholdValues = thresholdValues)&lt;/P&gt;&lt;P&gt; fixed (byte* fixObjectValues = objectValues)&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; if (pSrc == pDst)&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; st = ipp.ip.ippiThreshold_Val_8u_C3IR(pSrc, Stride, roi, fixThresholdValues, fixObjectValues, cmdOp);&lt;/P&gt;&lt;P&gt; // st = ipp.ip.ippiThreshold_8u_C3IR(pSrc, Stride, roi, fixThresholdValues, cmdOp);&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; else&lt;/P&gt;&lt;P&gt; {&lt;/P&gt;&lt;P&gt; st = ipp.ip.ippiThreshold_Val_8u_C3R(pSrc, Stride, pDst, Stride, roi, fixThresholdValues, fixObjectValues, cmdOp);&lt;/P&gt;&lt;P&gt; // st = ipp.ip.ippiThreshold_8u_C3R(pSrc, Stride, pDst, Stride, roi, fixThresholdValues, cmdOp);&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt; return st;&lt;/P&gt;&lt;P&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But to my surprise it doesnt work at all  seems that nothing happens?&lt;/P&gt;&lt;P&gt;Using the ippiThreshold() instead works better. A threshold is done, but the pixel is not set to the value Im wanting?&lt;/P&gt;&lt;P&gt;Furthermore ultmately I would like the thresholding conditon to be true only if all three thresholding channel criterias are meet, i.e only modify the pixel if e.g. ((PixRedChannel &amp;lt; PixRedThreshold) &amp;amp;&amp;amp; (PixGreenChannel &amp;lt; PixGreenThreshold) &amp;amp;&amp;amp; (PixBlueChannel &amp;lt; PixBlueThreshold)), is this possible with the IPP?&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;</description>
      <pubDate>Mon, 07 Mar 2011 10:03:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787177#M2105</guid>
      <dc:creator>nmunk</dc:creator>
      <dc:date>2011-03-07T10:03:03Z</dc:date>
    </item>
    <item>
      <title>IPP Thresholding</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787178#M2106</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;&lt;BR /&gt;I'll move this to our Intel Integrated Performance Primitives forum, where our Technical Consulting Engineers can assist you.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;&lt;BR /&gt;==&lt;BR /&gt;Aubrey W.&lt;BR /&gt;Intel Software Network Support&lt;/P&gt;</description>
      <pubDate>Tue, 22 Mar 2011 19:10:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787178#M2106</guid>
      <dc:creator>Aubrey_W_</dc:creator>
      <dc:date>2011-03-22T19:10:20Z</dc:date>
    </item>
    <item>
      <title>IPP Thresholding</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787179#M2107</link>
      <description>Can you provide some specific values for your threshhold input function? Your explanation seems to indicate thatyou want to compare agains 255,255,255 -- but that is the maximum value of a one byte value in a 3 byte pixel (RGB) so I wouldn't expect to see any change in the array of pixels.</description>
      <pubDate>Wed, 30 Mar 2011 00:30:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPP-Thresholding/m-p/787179#M2107</guid>
      <dc:creator>PaulF_IntelCorp</dc:creator>
      <dc:date>2011-03-30T00:30:50Z</dc:date>
    </item>
  </channel>
</rss>

