Sophie

Sophie

distrib > Mageia > 7 > x86_64 > media > nonfree-updates > by-pkgid > b86a85131cc739c1c53d0b55840a4328 > files > 1922

nvidia-cuda-toolkit-devel-10.1.168-1.2.mga7.nonfree.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>NVIDIA 2D Image And Signal Performance Primitives (NPP): FilterCannyBorder</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">NVIDIA 2D Image And Signal Performance Primitives (NPP)
   &#160;<span id="projectnumber">Version 10.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">FilterCannyBorder<div class="ingroups"><a class="el" href="group__image__computer__vision__filtering__functions.html">Computer Vision</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Performs Canny edge detection on a single channel 8-bit grayscale image and outputs a single channel 8-bit image consisting of 0x00 and 0xFF values with 0xFF representing edge pixels.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaa0fdf051d523217a2178198864ea4572"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__filter__canny__border.html#gaa0fdf051d523217a2178198864ea4572">nppiFilterCannyBorderGetBufferSize</a> (<a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, int *hpBufferSize)</td></tr>
<tr class="memdesc:gaa0fdf051d523217a2178198864ea4572"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate scratch buffer size needed for the FilterCannyBorder function based on destination image SizeROI width and height.  <a href="#gaa0fdf051d523217a2178198864ea4572">More...</a><br/></td></tr>
<tr class="separator:gaa0fdf051d523217a2178198864ea4572"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7eaec84fe84cda757a456d1b8b24f79b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__filter__canny__border.html#ga7eaec84fe84cda757a456d1b8b24f79b">nppiFilterCannyBorder_8u_C1R_Ctx</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pSrc, int nSrcStep, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSrcSize, <a class="el" href="struct_nppi_point.html">NppiPoint</a> oSrcOffset, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, int nDstStep, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="group__typedefs__npp.html#ga0bbcdc12d4e981fb8d0cc1d7e2f4d8c8">NppiDifferentialKernel</a> eFilterType, <a class="el" href="group__typedefs__npp.html#ga4707ef271cf14c74501d894482845771">NppiMaskSize</a> eMaskSize, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> nLowThreshold, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> nHighThreshold, <a class="el" href="group__typedefs__npp.html#ga81369e9ddeddecd27995770d0ad0f1a5">NppiNorm</a> eNorm, <a class="el" href="group__typedefs__npp.html#ga7e1448936057e7401acf293d19278317">NppiBorderType</a> eBorderType, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDeviceBuffer, <a class="el" href="struct_npp_stream_context.html">NppStreamContext</a> nppStreamCtx)</td></tr>
<tr class="memdesc:ga7eaec84fe84cda757a456d1b8b24f79b"><td class="mdescLeft">&#160;</td><td class="mdescRight">1 channel 8-bit unsigned grayscale to 1 channel 8-bit unsigned black (0x00) and white (0xFF) image with border control.  <a href="#ga7eaec84fe84cda757a456d1b8b24f79b">More...</a><br/></td></tr>
<tr class="separator:ga7eaec84fe84cda757a456d1b8b24f79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafece62a303fd08dacdb26c069cd2d92f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__image__filter__canny__border.html#gafece62a303fd08dacdb26c069cd2d92f">nppiFilterCannyBorder_8u_C1R</a> (const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pSrc, int nSrcStep, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSrcSize, <a class="el" href="struct_nppi_point.html">NppiPoint</a> oSrcOffset, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDst, int nDstStep, <a class="el" href="struct_nppi_size.html">NppiSize</a> oSizeROI, <a class="el" href="group__typedefs__npp.html#ga0bbcdc12d4e981fb8d0cc1d7e2f4d8c8">NppiDifferentialKernel</a> eFilterType, <a class="el" href="group__typedefs__npp.html#ga4707ef271cf14c74501d894482845771">NppiMaskSize</a> eMaskSize, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> nLowThreshold, <a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a> nHighThreshold, <a class="el" href="group__typedefs__npp.html#ga81369e9ddeddecd27995770d0ad0f1a5">NppiNorm</a> eNorm, <a class="el" href="group__typedefs__npp.html#ga7e1448936057e7401acf293d19278317">NppiBorderType</a> eBorderType, <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *pDeviceBuffer)</td></tr>
<tr class="separator:gafece62a303fd08dacdb26c069cd2d92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Performs Canny edge detection on a single channel 8-bit grayscale image and outputs a single channel 8-bit image consisting of 0x00 and 0xFF values with 0xFF representing edge pixels. </p>
<p>The algorithm consists of three phases. The first phase generates two output images consisting of a single channel 16-bit signed image containing magnitude values and a single channel 32-bit floating point image containing the angular direction of those magnitude values. This phase is accomplished by calling the appropriate GradientVectorBorder filter function based on the filter type, filter mask size, and norm type requested. The next phase uses those magnitude and direction images to suppress non-maximum magnitude values which are lower than the values of either of its two nearest neighbors in the same direction as the test magnitude pixel in the 3x3 surrounding magnitude pixel neighborhood. This phase outputs a new magnitude image with non-maximum pixel values suppressed. Finally, in the third phase, the new magnitude image is passed through a hysteresis threshold filter that filters out any magnitude values that are not connected to another edge magnitude value. In this phase, any magnitude value above the high threshold value is automatically accepted, any magnitude value below the low threshold value is automatically rejected. For magnitude values that lie between the low and high threshold, values are only accepted if one of their two neighbors in the same direction in the 3x3 neighborhood around them lies above the low threshold value. In other words, if they are connected to an active edge. J. Canny recommends that the ratio of high to low threshold limit be in the range two or three to one, based on predicted signal-to-noise ratios. The final output of the third phase consists of a single channel 8-bit unsigned image of 0x00 and 0xFF values based on whether they are accepted or rejected during threshold testing.</p>
<p>Currently only the NPP_BORDER_REPLICATE border type operation is supported. Borderless output can be accomplished by using a larger source image than the destination and adjusting oSrcSize and oSrcOffset parameters accordingly. </p>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gafece62a303fd08dacdb26c069cd2d92f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiFilterCannyBorder_8u_C1R </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSrcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_point.html">NppiPoint</a>&#160;</td>
          <td class="paramname"><em>oSrcOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nDstStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga0bbcdc12d4e981fb8d0cc1d7e2f4d8c8">NppiDifferentialKernel</a>&#160;</td>
          <td class="paramname"><em>eFilterType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga4707ef271cf14c74501d894482845771">NppiMaskSize</a>&#160;</td>
          <td class="paramname"><em>eMaskSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a>&#160;</td>
          <td class="paramname"><em>nLowThreshold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a>&#160;</td>
          <td class="paramname"><em>nHighThreshold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga81369e9ddeddecd27995770d0ad0f1a5">NppiNorm</a>&#160;</td>
          <td class="paramname"><em>eNorm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga7e1448936057e7401acf293d19278317">NppiBorderType</a>&#160;</td>
          <td class="paramname"><em>eBorderType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDeviceBuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ga7eaec84fe84cda757a456d1b8b24f79b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiFilterCannyBorder_8u_C1R_Ctx </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pSrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nSrcStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSrcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_point.html">NppiPoint</a>&#160;</td>
          <td class="paramname"><em>oSrcOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nDstStep</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga0bbcdc12d4e981fb8d0cc1d7e2f4d8c8">NppiDifferentialKernel</a>&#160;</td>
          <td class="paramname"><em>eFilterType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga4707ef271cf14c74501d894482845771">NppiMaskSize</a>&#160;</td>
          <td class="paramname"><em>eMaskSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a>&#160;</td>
          <td class="paramname"><em>nLowThreshold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga2eea681138ed3607f6a540f8a1c73b85">Npp16s</a>&#160;</td>
          <td class="paramname"><em>nHighThreshold</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga81369e9ddeddecd27995770d0ad0f1a5">NppiNorm</a>&#160;</td>
          <td class="paramname"><em>eNorm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__typedefs__npp.html#ga7e1448936057e7401acf293d19278317">NppiBorderType</a>&#160;</td>
          <td class="paramname"><em>eBorderType</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__npp__basic__types.html#ga29b502b6816fc0066fd59538483a5b62">Npp8u</a> *&#160;</td>
          <td class="paramname"><em>pDeviceBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_npp_stream_context.html">NppStreamContext</a>&#160;</td>
          <td class="paramname"><em>nppStreamCtx</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>1 channel 8-bit unsigned grayscale to 1 channel 8-bit unsigned black (0x00) and white (0xFF) image with border control. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pSrc</td><td><a class="el" href="nppi_conventions_lb.html#source_image_pointer">Source-Image Pointer</a>. </td></tr>
    <tr><td class="paramname">nSrcStep</td><td><a class="el" href="nppi_conventions_lb.html#source_image_line_step">Source-Image Line Step</a>. </td></tr>
    <tr><td class="paramname">oSrcSize</td><td>Source image width and height in pixels relative to pSrc. </td></tr>
    <tr><td class="paramname">oSrcOffset</td><td>The pixel offset that pSrc points to relative to the origin of the source image. </td></tr>
    <tr><td class="paramname">pDst</td><td>output edge destination_image_pointer. </td></tr>
    <tr><td class="paramname">nDstStep</td><td>output edge destination_image_line_step. </td></tr>
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">eFilterType</td><td>selects between Sobel or Scharr filter type. </td></tr>
    <tr><td class="paramname">eMaskSize</td><td>fixed filter mask size to use. </td></tr>
    <tr><td class="paramname">nLowThreshold</td><td>low hysteresis threshold value. </td></tr>
    <tr><td class="paramname">nHighThreshold</td><td>high hysteresis threshold value. </td></tr>
    <tr><td class="paramname">eNorm</td><td>gradient distance method to use. </td></tr>
    <tr><td class="paramname">eBorderType</td><td>source image border type to use use. </td></tr>
    <tr><td class="paramname">pDeviceBuffer</td><td>pointer to scratch DEVICE memory buffer of size hpBufferSize (see <a class="el" href="group__image__filter__canny__border.html#gaa0fdf051d523217a2178198864ea4572" title="Calculate scratch buffer size needed for the FilterCannyBorder function based on destination image Si...">nppiFilterCannyBorderGetBufferSize()</a> above) </td></tr>
    <tr><td class="paramname">nppStreamCtx</td><td><a class="el" href="index.html#application_managed_stream_context">Application Managed Stream Context</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="nppi_conventions_lb.html#image_data_error_codes">Image Data Related Error Codes</a>, <a class="el" href="nppi_conventions_lb.html#roi_error_codes">ROI Related Error Codes</a> </dd></dl>

</div>
</div>
<a class="anchor" id="gaa0fdf051d523217a2178198864ea4572"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__typedefs__npp.html#ga1105a17b5e76381583c46ecd6a60fe21">NppStatus</a> nppiFilterCannyBorderGetBufferSize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_nppi_size.html">NppiSize</a>&#160;</td>
          <td class="paramname"><em>oSizeROI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>hpBufferSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculate scratch buffer size needed for the FilterCannyBorder function based on destination image SizeROI width and height. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oSizeROI</td><td><a class="el" href="nppi_conventions_lb.html#roi_specification">Region-of-Interest (ROI)</a>. </td></tr>
    <tr><td class="paramname">hpBufferSize</td><td>Required buffer size. Important: hpBufferSize is a <em>host pointer.</em> <a class="el" href="general_conventions_lb.html#general_scratch_buffer">Scratch Buffer and Host Pointer</a>. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="nppi_conventions_lb.html#image_data_error_codes">Image Data Related Error Codes</a>, <a class="el" href="nppi_conventions_lb.html#roi_error_codes">ROI Related Error Codes</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
<HR>
<center>Copyright &copy; 2009-2019 NVIDIA Corporation</center>
<HR>