mirror of
https://github.com/boostorg/gil.git
synced 2026-01-25 06:12:22 +00:00
167 lines
16 KiB
HTML
167 lines
16 KiB
HTML
<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
(See accompanying file LICENSE_1_0.txt or copy at
|
|
http://www.boost.org/LICENSE_1_0.txt)
|
|
-->
|
|
<!--
|
|
Copyright 2005-2007 Adobe Systems Incorporated
|
|
Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
|
|
or a copy at http://stlab.adobe.com/licenses.html)
|
|
Some files are held under additional license.
|
|
Please see "http://stlab.adobe.com/licenses.html" for more information.
|
|
-->
|
|
<!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" lang="en" xml:lang="en">
|
|
<head>
|
|
<TITLE>channel_algorithm.hpp File Reference</TITLE>
|
|
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
|
|
<link type="text/css" rel="stylesheet" href="../_static/style.css">
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="header">
|
|
<table border="0" cellpadding="7" cellspacing="0" width="100%" summary="header">
|
|
<tr>
|
|
<td valign="top" width="300">
|
|
<h3><a href="../index.html"><img
|
|
alt="Boost GIL" src="../_static/gil.png" border="0"></a></h3>
|
|
</td>
|
|
<td >
|
|
<h1 align="center"><a href="../index.html"></a></h1>
|
|
</td>
|
|
<td>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<hr/>
|
|
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
|
|
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
|
|
<div class="qindex"><a class="qindex" href="index.html">Modules</a>
|
|
| <a class="qindex" href="classes.html">Alphabetical List</a>
|
|
| <a class="qindex" href="annotated.html">Class List</a>
|
|
</div>
|
|
<!-- End Header -->
|
|
<!-- Generated by Doxygen 1.8.6 -->
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_1878a3f4746a95c6aad317458cc7ef80.html">boost</a></li><li class="navelem"><a class="el" href="dir_df4750f408086f9b9c1b5ee4251365ff.html">gil</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">channel_algorithm.hpp File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Channel algorithms.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include <boost/config.hpp></code><br/>
|
|
<code>#include <boost/integer_traits.hpp></code><br/>
|
|
<code>#include <boost/mpl/less.hpp></code><br/>
|
|
<code>#include <boost/mpl/integral_c.hpp></code><br/>
|
|
<code>#include <boost/mpl/greater.hpp></code><br/>
|
|
<code>#include <boost/type_traits.hpp></code><br/>
|
|
<code>#include "<a class="el" href="gil__config_8hpp_source.html">gil_config.hpp</a>"</code><br/>
|
|
<code>#include "<a class="el" href="channel_8hpp_source.html">channel.hpp</a>"</code><br/>
|
|
</div>
|
|
<p><a href="channel__algorithm_8hpp_source.html">Go to the source code of this file.</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html">channel_converter_unsigned_impl< SrcChannelV, DstChannelV, SrcIsIntegral, DstIsIntegral ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. <a href="structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4.html">channel_converter_unsigned< T, T ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Converting a channel to itself - identity operation. <a href="structboost_1_1gil_1_1channel__converter__unsigned_3_01_t_00_01_t_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html">channel_converter_unsigned_impl< SrcChannelV, DstChannelV, SrcIsIntegral, DstIsIntegral ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. <a href="structboost_1_1gil_1_1detail_1_1channel__converter__unsigned__impl.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__converter__unsigned_3_01bits32f_00_01_dst_channel_v_01_4.html">channel_converter_unsigned< bits32f, DstChannelV ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">bits32f conversion <a href="structboost_1_1gil_1_1channel__converter__unsigned_3_01bits32f_00_01_dst_channel_v_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__converter__unsigned_3_01bits32_00_01bits32f_01_4.html">channel_converter_unsigned< bits32, bits32f ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">32 bit <-> float channel conversion <a href="structboost_1_1gil_1_1channel__converter__unsigned_3_01bits32_00_01bits32f_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__converter__unsigned_3_01bits32f_00_01bits32_01_4.html">channel_converter_unsigned< bits32f, bits32 ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">32 bit <-> float channel conversion <a href="structboost_1_1gil_1_1channel__converter__unsigned_3_01bits32f_00_01bits32_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__converter.html">channel_converter< SrcChannelV, DstChannelV ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A unary function object converting between channel types. <a href="structboost_1_1gil_1_1channel__converter.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1default__channel__converter.html">default_channel_converter</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Same as <a class="el" href="structboost_1_1gil_1_1channel__converter.html" title="A unary function object converting between channel types. ">channel_converter</a>, except it takes the destination channel by reference, which allows us to move the templates from the class level to the method level. This is important when invoking it on heterogeneous pixels. <a href="structboost_1_1gil_1_1default__channel__converter.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__multiplier__unsigned.html">channel_multiplier_unsigned< ChannelValue ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">This is the default implementation. Performance specializatons are provided. <a href="structboost_1_1gil_1_1channel__multiplier__unsigned.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__multiplier__unsigned_3_01bits8_01_4.html">channel_multiplier_unsigned< bits8 ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of channel_multiply for 8-bit unsigned channels. <a href="structboost_1_1gil_1_1channel__multiplier__unsigned_3_01bits8_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__multiplier__unsigned_3_01bits16_01_4.html">channel_multiplier_unsigned< bits16 ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of channel_multiply for 16-bit unsigned channels. <a href="structboost_1_1gil_1_1channel__multiplier__unsigned_3_01bits16_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__multiplier__unsigned_3_01bits32f_01_4.html">channel_multiplier_unsigned< bits32f ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Specialization of channel_multiply for float 0..1 channels. <a href="structboost_1_1gil_1_1channel__multiplier__unsigned_3_01bits32f_01_4.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1gil_1_1channel__multiplier.html">channel_multiplier< ChannelValue ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A function object to multiply two channels. result = a * b / max_value. <a href="structboost_1_1gil_1_1channel__multiplier.html#details">More...</a><br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:namespaceboost"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceboost.html">boost</a></td></tr>
|
|
<tr class="memdesc:namespaceboost"><td class="mdescLeft"> </td><td class="mdescRight">Pixel 2D LOCATOR. <br/></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:ga1ca10b1d27bc2f2ce4906b8890e613a5"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga1ca10b1d27bc2f2ce4906b8890e613a5"></a>
|
|
template<typename DstChannel , typename SrcChannel > </td></tr>
|
|
<tr class="memitem:ga1ca10b1d27bc2f2ce4906b8890e613a5"><td class="memTemplItemLeft" align="right" valign="top">channel_traits< DstChannel ><br class="typebreak"/>
|
|
::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___channel_convert_algorithm.html#ga1ca10b1d27bc2f2ce4906b8890e613a5">channel_convert</a> (const SrcChannel &src)</td></tr>
|
|
<tr class="memdesc:ga1ca10b1d27bc2f2ce4906b8890e613a5"><td class="mdescLeft"> </td><td class="mdescRight">Converting from one channel type to another. <br/></td></tr>
|
|
<tr class="separator:ga1ca10b1d27bc2f2ce4906b8890e613a5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a36fdfb4869446c1151d0850faf72e3b3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36fdfb4869446c1151d0850faf72e3b3"></a>
|
|
uint32_t </td><td class="memItemRight" valign="bottom"><b>div255</b> (uint32_t in)</td></tr>
|
|
<tr class="separator:a36fdfb4869446c1151d0850faf72e3b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a114bcacf9a7cce97638fe8704d44559f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a114bcacf9a7cce97638fe8704d44559f"></a>
|
|
uint32_t </td><td class="memItemRight" valign="bottom"><b>div32768</b> (uint32_t in)</td></tr>
|
|
<tr class="separator:a114bcacf9a7cce97638fe8704d44559f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga0af81efbbb77846afe2570f242d2b974"><td class="memTemplParams" colspan="2"><a class="anchor" id="ga0af81efbbb77846afe2570f242d2b974"></a>
|
|
template<typename Channel > </td></tr>
|
|
<tr class="memitem:ga0af81efbbb77846afe2570f242d2b974"><td class="memTemplItemLeft" align="right" valign="top">channel_traits< Channel ><br class="typebreak"/>
|
|
::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___channel_multiply_algorithm.html#ga0af81efbbb77846afe2570f242d2b974">channel_multiply</a> (Channel a, Channel b)</td></tr>
|
|
<tr class="memdesc:ga0af81efbbb77846afe2570f242d2b974"><td class="mdescLeft"> </td><td class="mdescRight">A function multiplying two channels. result = a * b / max_value. <br/></td></tr>
|
|
<tr class="separator:ga0af81efbbb77846afe2570f242d2b974"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:gabbbc7b27d9f61ff45cf5ea7ac21051f5"><td class="memTemplParams" colspan="2"><a class="anchor" id="gabbbc7b27d9f61ff45cf5ea7ac21051f5"></a>
|
|
template<typename Channel > </td></tr>
|
|
<tr class="memitem:gabbbc7b27d9f61ff45cf5ea7ac21051f5"><td class="memTemplItemLeft" align="right" valign="top">channel_traits< Channel ><br class="typebreak"/>
|
|
::value_type </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___channel_invert_algorithm.html#gabbbc7b27d9f61ff45cf5ea7ac21051f5">channel_invert</a> (Channel x)</td></tr>
|
|
<tr class="memdesc:gabbbc7b27d9f61ff45cf5ea7ac21051f5"><td class="mdescLeft"> </td><td class="mdescRight">Default implementation. Provide overloads for performance. <br/></td></tr>
|
|
<tr class="separator:gabbbc7b27d9f61ff45cf5ea7ac21051f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Channel algorithms. </p>
|
|
<dl class="section author"><dt>Author</dt><dd>Lubomir Bourdev and Hailin Jin <br/>
|
|
Adobe Systems Incorporated </dd></dl>
|
|
<dl class="section date"><dt>Date</dt><dd>2005-2007 <br/>
|
|
Last updated on May 6, 2007</dd></dl>
|
|
<p>Definitions of standard GIL 8-bit, 16-bit, 32-bit channels </p>
|
|
</div></div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Mon Mar 26 2018 16:26:16 for Generic Image Library by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.6
|
|
</small></address>
|
|
</body>
|
|
</html>
|