aboutsummaryrefslogtreecommitdiffstats
path: root/doc/html/YUV_8hpp_source.html
diff options
context:
space:
mode:
authorcathook <b01902109@csie.ntu.edu.tw>2014-06-23 17:03:55 +0800
committercathook <b01902109@csie.ntu.edu.tw>2014-06-23 17:03:55 +0800
commitbafcb16a9048268c78210c65577ce7ec7b2577d0 (patch)
tree989725dd680de7b40f833dd78e59008808b26b76 /doc/html/YUV_8hpp_source.html
parentfe926756145c5e5cf5f315af0acdbfd85ba27543 (diff)
downloadmeow-bafcb16a9048268c78210c65577ce7ec7b2577d0.tar
meow-bafcb16a9048268c78210c65577ce7ec7b2577d0.tar.gz
meow-bafcb16a9048268c78210c65577ce7ec7b2577d0.tar.bz2
meow-bafcb16a9048268c78210c65577ce7ec7b2577d0.tar.lz
meow-bafcb16a9048268c78210c65577ce7ec7b2577d0.tar.xz
meow-bafcb16a9048268c78210c65577ce7ec7b2577d0.tar.zst
meow-bafcb16a9048268c78210c65577ce7ec7b2577d0.zip
update stylesheet.css, Self.h
Diffstat (limited to 'doc/html/YUV_8hpp_source.html')
-rw-r--r--doc/html/YUV_8hpp_source.html182
1 files changed, 182 insertions, 0 deletions
diff --git a/doc/html/YUV_8hpp_source.html b/doc/html/YUV_8hpp_source.html
new file mode 100644
index 0000000..2f032b7
--- /dev/null
+++ b/doc/html/YUV_8hpp_source.html
@@ -0,0 +1,182 @@
+<!-- HTML header for doxygen 1.8.3.1-->
+<!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.6"/>
+<title>Templates -- Meow: meowpp/colors/YUV.hpp Source File</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="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<script type="text/javascript">
+ $(document).ready(initResizable);
+ $(window).load(resizeHeight);
+</script>
+<link href="stylesheet.css" rel="stylesheet" type="text/css" />
+<link href="custom.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 id="projectlogo"><img alt="Logo" src="logo.png"/></td>
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Templates -- Meow
+ &#160;<span id="projectnumber">1.1.4</span>
+ </div>
+ <div id="projectbrief">A C++ template which is unable and also not allowed to compile to obj-file first.</div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.6 -->
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+ <div id="nav-tree">
+ <div id="nav-tree-contents">
+ <div id="nav-sync" class="sync"></div>
+ </div>
+ </div>
+ <div id="splitbar" style="-moz-user-select:none;"
+ class="ui-resizable-handle">
+ </div>
+</div>
+<script type="text/javascript">
+$(document).ready(function(){initNavTree('YUV_8hpp_source.html','');});
+</script>
+<div id="doc-content">
+<div class="header">
+ <div class="headertitle">
+<div class="title">YUV.hpp</div> </div>
+</div><!--header-->
+<div class="contents">
+<a href="YUV_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#include &lt;algorithm&gt;</span></div>
+<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="RGB_8h.html">RGB.h</a>&quot;</span></div>
+<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="preprocessor">#include &quot;../utility.h&quot;</span></div>
+<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;</div>
+<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="keyword">namespace </span>meow{</div>
+<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497"> 6</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">YUV&lt;T&gt;::YUV</a>(){ }</div>
+<div class="line"><a name="l00007"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#ae5f3feada99aaf8f14dd49f9f09c6f5a"> 7</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">YUV&lt;T&gt;::YUV</a>(T <span class="keyword">const</span>&amp; y, T <span class="keyword">const</span>&amp; u, T <span class="keyword">const</span>&amp; v){</div>
+<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; yuv_[0] = y; yuv_[1] = u; yuv_[2] = v;</div>
+<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; }</div>
+<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#ad606818b51a58a857e4cf25b81dccd0f"> 10</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">YUV&lt;T&gt;::YUV</a>(T <span class="keyword">const</span>* yuv){</div>
+<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 3; i++){</div>
+<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; yuv_[i] = yuv[i];</div>
+<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; }</div>
+<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; }</div>
+<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18"> 16</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">YUV&lt;T&gt;::y</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> yuv_[0]; }</div>
+<div class="line"><a name="l00017"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b"> 17</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">YUV&lt;T&gt;::u</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> yuv_[1]; }</div>
+<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7"> 18</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">YUV&lt;T&gt;::v</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> yuv_[2]; }</div>
+<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a5edef3b5de6f888b04f698ce62f7dbfc"> 19</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a5edef3b5de6f888b04f698ce62f7dbfc">YUV&lt;T&gt;::yuv</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{</div>
+<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <span class="keywordflow">return</span> yuv_[std::min((<span class="keywordtype">size_t</span>)3 - 1, i)];</div>
+<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; }</div>
+<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b"> 22</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b">YUV&lt;T&gt;::vuy</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{<span class="keywordflow">return</span> yuv(2-i);}</div>
+<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a8f001fc9d0efb2f69167bd3957009bf6"> 24</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">YUV&lt;T&gt;::y</a>(T <span class="keyword">const</span>&amp; val){<span class="keywordflow">return</span> (yuv_[0]=val);}</div>
+<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a86e835802a207184caef995118f4ca7e"> 25</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">YUV&lt;T&gt;::u</a>(T <span class="keyword">const</span>&amp; val){<span class="keywordflow">return</span> (yuv_[1]=val);}</div>
+<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a6035ae9b71f5cd4678f9eedc8e0f71da"> 26</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">YUV&lt;T&gt;::v</a>(T <span class="keyword">const</span>&amp; val){<span class="keywordflow">return</span> (yuv_[2]=val);}</div>
+<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#af0c71f8f2964a96f8ef27d54818a9eae"> 27</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a5edef3b5de6f888b04f698ce62f7dbfc">YUV&lt;T&gt;::yuv</a>(<span class="keywordtype">size_t</span> i, T <span class="keyword">const</span>&amp; val){</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; i = std::min((<span class="keywordtype">size_t</span>)3 - 1, i);</div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">return</span> (yuv_[i] = val);</div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; }</div>
+<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a2f75452f4b862468de4ed55a16841592"> 31</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b">YUV&lt;T&gt;::vuy</a>(<span class="keywordtype">size_t</span> i, T <span class="keyword">const</span>&amp; val){</div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> yuv(2 - i, val);</div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; }</div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;</div>
+<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#ac43c12e88f7dea7b4990a5a3e01e6102"> 35</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUVf.html#ac43c12e88f7dea7b4990a5a3e01e6102">YUVf:: YUVf</a>(): <a class="code" href="classmeow_1_1YUV.html">YUV</a>(0.0, 0.0, 0.0){ }</div>
+<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#a3dbaafe1ef635dabdc2374da8f4164a1"> 36</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUVf.html#a3dbaafe1ef635dabdc2374da8f4164a1">YUVf::~YUVf</a>(){ }</div>
+<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#a74eff21f234f0dd164dc6f6f1acb5a2d"> 37</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUVf.html#ac43c12e88f7dea7b4990a5a3e01e6102">YUVf::YUVf</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>&amp; y, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; u, <span class="keywordtype">double</span> <span class="keyword">const</span>&amp; v): <a class="code" href="classmeow_1_1YUV.html">YUV</a>(y, u, v){ }</div>
+<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#ada30ddfb72d65648f9710b5b6f79ff11"> 38</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUVf.html#ac43c12e88f7dea7b4990a5a3e01e6102">YUVf::YUVf</a>(<span class="keywordtype">double</span> <span class="keyword">const</span>* yuv): <a class="code" href="classmeow_1_1YUV.html">YUV</a>(yuv){ }</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#a988a3604b4108d4592e73f0a72c4a7af"> 39</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1YUVf.html#a988a3604b4108d4592e73f0a72c4a7af">YUVf::yMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0.0; }</div>
+<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#a90a1f836a1036af244fb7c4011205a88"> 40</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1YUVf.html#a90a1f836a1036af244fb7c4011205a88">YUVf::yMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1.0; }</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#a20525a50b708c6ffb5886ad762671bda"> 41</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1YUVf.html#a20525a50b708c6ffb5886ad762671bda">YUVf::uMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0.0; }</div>
+<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#a211d1df1e9d314e32a7d9683f16a09ee"> 42</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1YUVf.html#a211d1df1e9d314e32a7d9683f16a09ee">YUVf::uMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1.0; }</div>
+<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#aa601cf43e25fa399b828d948e5cdd31c"> 43</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1YUVf.html#aa601cf43e25fa399b828d948e5cdd31c">YUVf::vMin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 0.0; }</div>
+<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#ac26a8246e0ddfe7f80ba2254acf6953d"> 44</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="classmeow_1_1YUVf.html#ac26a8246e0ddfe7f80ba2254acf6953d">YUVf::vMax</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> 1.0; }</div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; </div>
+<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespacemeow.html#a9682162b4b67148649d87c2049175820"> 47</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> RGB_T, <span class="keyword">class</span> YUV_T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#a9682162b4b67148649d87c2049175820">RGB_to_YUV</a>(</div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <a class="code" href="classmeow_1_1RGB.html">RGB&lt;RGB_T&gt;</a> <span class="keyword">const</span>&amp; rgb,</div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <a class="code" href="classmeow_1_1YUV.html">YUV&lt;YUV_T&gt;</a> * yuv){</div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordtype">double</span> r = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">normalize</a>(rgb.<a class="code" href="classmeow_1_1RGB.html#a348908dfe16b5a77e30c69d2126fb010">rMin</a>(), rgb.<a class="code" href="classmeow_1_1RGB.html#acf1e98a92ee1415e1278420c48976398">rMax</a>(), rgb.<a class="code" href="classmeow_1_1RGB.html#af404b8c2793659741bf4dcd3f9599c74">r</a>());</div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordtype">double</span> g = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">normalize</a>(rgb.<a class="code" href="classmeow_1_1RGB.html#abc9f6654db5515946b10c7d593fc49cd">gMin</a>(), rgb.<a class="code" href="classmeow_1_1RGB.html#ac1e1bd0f904c0bc4d68d117ec9a88932">gMax</a>(), rgb.<a class="code" href="classmeow_1_1RGB.html#ad427ada53b9a14dfc46150d54e983cfb">g</a>());</div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordtype">double</span> b = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">normalize</a>(rgb.<a class="code" href="classmeow_1_1RGB.html#ab9f74cc384f67615ad172e994a645de9">bMin</a>(), rgb.<a class="code" href="classmeow_1_1RGB.html#aa040fb899d8ecf152d95a6f7a4b3b066">bMax</a>(), rgb.<a class="code" href="classmeow_1_1RGB.html#aebff34ce6c558095ae73164a84f2e4c3">b</a>());</div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordtype">double</span> y = 0.299 * r + 0.587 * g + 0.114 * b;</div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordtype">double</span> u = -0.169 * r - 0.331 * g + 0.500 * b + 0.5;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordtype">double</span> v = 0.500 * r - 0.419 * g - 0.081 * b + 0.5;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">y</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</a>(yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#a71875384a382367a6bab6f9bc79669e9">yMin</a>(), yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#a74d443cbe42f0c4ebab98fd8a6a04b52">yMax</a>(), y));</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">u</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</a>(yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#af0e2d389c930707868a8ba73fe10bdbe">uMin</a>(), yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#a858dd15fe0c951bd5cad92099c565c26">uMax</a>(), u));</div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">v</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</a>(yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#a71ec640b3ad61970e9261523ed412e2a">vMin</a>(), yuv-&gt;<a class="code" href="classmeow_1_1YUV.html#aa31eadddcecf041eca037330b3fe6898">vMax</a>(), v));</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespacemeow.html#ace828526337b865be410d3a78d07d8b0"> 60</a></span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> YUV_T, <span class="keyword">class</span> RGB_T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespacemeow.html#ace828526337b865be410d3a78d07d8b0">YUV_to_RGB</a>(</div>
+<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classmeow_1_1YUV.html">YUV&lt;YUV_T&gt;</a> <span class="keyword">const</span>&amp; yuv,</div>
+<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classmeow_1_1RGB.html">RGB&lt;RGB_T&gt;</a> * rgb){</div>
+<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">double</span> y = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">normalize</a>(yuv.<a class="code" href="classmeow_1_1YUV.html#a71875384a382367a6bab6f9bc79669e9">yMin</a>(), yuv.<a class="code" href="classmeow_1_1YUV.html#a74d443cbe42f0c4ebab98fd8a6a04b52">yMax</a>(), yuv.<a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">y</a>());</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordtype">double</span> u = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">normalize</a>(yuv.<a class="code" href="classmeow_1_1YUV.html#af0e2d389c930707868a8ba73fe10bdbe">uMin</a>(), yuv.<a class="code" href="classmeow_1_1YUV.html#a858dd15fe0c951bd5cad92099c565c26">uMax</a>(), yuv.<a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">u</a>());</div>
+<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordtype">double</span> v = <a class="code" href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">normalize</a>(yuv.<a class="code" href="classmeow_1_1YUV.html#a71ec640b3ad61970e9261523ed412e2a">vMin</a>(), yuv.<a class="code" href="classmeow_1_1YUV.html#aa31eadddcecf041eca037330b3fe6898">vMax</a>(), yuv.<a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">v</a>());</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">double</span> r = y - 0.00093 * (u - 0.5) + 1.401687 * (v - 0.5);</div>
+<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordtype">double</span> g = y - 0.34370 * (u - 0.5) - 0.714170 * (v - 0.5);</div>
+<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">double</span> b = y + 1.77216 * (u - 0.5) - 0.000990 * (v - 0.5);</div>
+<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#af404b8c2793659741bf4dcd3f9599c74">r</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#a348908dfe16b5a77e30c69d2126fb010">rMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#acf1e98a92ee1415e1278420c48976398">rMax</a>(), r));</div>
+<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#ad427ada53b9a14dfc46150d54e983cfb">g</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#abc9f6654db5515946b10c7d593fc49cd">gMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#ac1e1bd0f904c0bc4d68d117ec9a88932">gMax</a>(), g));</div>
+<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#aebff34ce6c558095ae73164a84f2e4c3">b</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</a>(rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#ab9f74cc384f67615ad172e994a645de9">bMin</a>(), rgb-&gt;<a class="code" href="classmeow_1_1RGB.html#aa040fb899d8ecf152d95a6f7a4b3b066">bMax</a>(), b));</div>
+<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
+<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;}</div>
+<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;</div>
+<div class="ttc" id="classmeow_1_1RGB_html_acf1e98a92ee1415e1278420c48976398"><div class="ttname"><a href="classmeow_1_1RGB.html#acf1e98a92ee1415e1278420c48976398">meow::RGB::rMax</a></div><div class="ttdeci">virtual T rMax() const =0</div></div>
+<div class="ttc" id="namespacemeow_html_aebe1ad335556790c578c4cf7836fd9ca"><div class="ttname"><a href="namespacemeow.html#aebe1ad335556790c578c4cf7836fd9ca">meow::normalize</a></div><div class="ttdeci">T normalize(T lower, T upper, T value)</div><div class="ttdoc">(value-lower)/(upper-lower) </div><div class="ttdef"><b>Definition:</b> <a href="math_2utility_8h_source.html#l00027">utility.h:27</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_a20525a50b708c6ffb5886ad762671bda"><div class="ttname"><a href="classmeow_1_1YUVf.html#a20525a50b708c6ffb5886ad762671bda">meow::YUVf::uMin</a></div><div class="ttdeci">double uMin() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00041">YUV.hpp:41</a></div></div>
+<div class="ttc" id="RGB_8h_html"><div class="ttname"><a href="RGB_8h.html">RGB.h</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_ac26a8246e0ddfe7f80ba2254acf6953d"><div class="ttname"><a href="classmeow_1_1YUVf.html#ac26a8246e0ddfe7f80ba2254acf6953d">meow::YUVf::vMax</a></div><div class="ttdeci">double vMax() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00044">YUV.hpp:44</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a71875384a382367a6bab6f9bc79669e9"><div class="ttname"><a href="classmeow_1_1YUV.html#a71875384a382367a6bab6f9bc79669e9">meow::YUV::yMin</a></div><div class="ttdeci">virtual T yMin() const =0</div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_aa040fb899d8ecf152d95a6f7a4b3b066"><div class="ttname"><a href="classmeow_1_1RGB.html#aa040fb899d8ecf152d95a6f7a4b3b066">meow::RGB::bMax</a></div><div class="ttdeci">virtual T bMax() const =0</div></div>
+<div class="ttc" id="classmeow_1_1RGB_html"><div class="ttname"><a href="classmeow_1_1RGB.html">meow::RGB</a></div><div class="ttdef"><b>Definition:</b> <a href="RGB_8h_source.html#l00005">RGB.h:5</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_aa31eadddcecf041eca037330b3fe6898"><div class="ttname"><a href="classmeow_1_1YUV.html#aa31eadddcecf041eca037330b3fe6898">meow::YUV::vMax</a></div><div class="ttdeci">virtual T vMax() const =0</div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_af404b8c2793659741bf4dcd3f9599c74"><div class="ttname"><a href="classmeow_1_1RGB.html#af404b8c2793659741bf4dcd3f9599c74">meow::RGB::r</a></div><div class="ttdeci">T r() const </div><div class="ttdef"><b>Definition:</b> <a href="RGB_8hpp_source.html#l00014">RGB.hpp:14</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a8c5f97ba28e24dc7e8c89caba748bcc7"><div class="ttname"><a href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">meow::YUV::v</a></div><div class="ttdeci">T v() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00018">YUV.hpp:18</a></div></div>
+<div class="ttc" id="namespacemeow_html_af95cfca15ad7a51ed4d07b06e1296080"><div class="ttname"><a href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">meow::denormalize</a></div><div class="ttdeci">T denormalize(T lower, T upper, T _ratio)</div><div class="ttdoc">(lower+_ratio*(upper-lower)) </div><div class="ttdef"><b>Definition:</b> <a href="math_2utility_8h_source.html#l00035">utility.h:35</a></div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_ab9f74cc384f67615ad172e994a645de9"><div class="ttname"><a href="classmeow_1_1RGB.html#ab9f74cc384f67615ad172e994a645de9">meow::RGB::bMin</a></div><div class="ttdeci">virtual T bMin() const =0</div></div>
+<div class="ttc" id="classmeow_1_1YUV_html"><div class="ttname"><a href="classmeow_1_1YUV.html">meow::YUV</a></div><div class="ttdef"><b>Definition:</b> <a href="YUV_8h_source.html#l00007">YUV.h:7</a></div></div>
+<div class="ttc" id="namespacemeow_html_a9682162b4b67148649d87c2049175820"><div class="ttname"><a href="namespacemeow.html#a9682162b4b67148649d87c2049175820">meow::RGB_to_YUV</a></div><div class="ttdeci">void RGB_to_YUV(RGB&lt; RGB_T &gt; const &amp;rgb, YUV&lt; YUV_T &gt; *yuv)</div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00047">YUV.hpp:47</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a6617e96d557ec53fff12bf634f536c18"><div class="ttname"><a href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">meow::YUV::y</a></div><div class="ttdeci">T y() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00016">YUV.hpp:16</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_a988a3604b4108d4592e73f0a72c4a7af"><div class="ttname"><a href="classmeow_1_1YUVf.html#a988a3604b4108d4592e73f0a72c4a7af">meow::YUVf::yMin</a></div><div class="ttdeci">double yMin() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00039">YUV.hpp:39</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a74d443cbe42f0c4ebab98fd8a6a04b52"><div class="ttname"><a href="classmeow_1_1YUV.html#a74d443cbe42f0c4ebab98fd8a6a04b52">meow::YUV::yMax</a></div><div class="ttdeci">virtual T yMax() const =0</div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_aa601cf43e25fa399b828d948e5cdd31c"><div class="ttname"><a href="classmeow_1_1YUVf.html#aa601cf43e25fa399b828d948e5cdd31c">meow::YUVf::vMin</a></div><div class="ttdeci">double vMin() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00043">YUV.hpp:43</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_ac43c12e88f7dea7b4990a5a3e01e6102"><div class="ttname"><a href="classmeow_1_1YUVf.html#ac43c12e88f7dea7b4990a5a3e01e6102">meow::YUVf::YUVf</a></div><div class="ttdeci">YUVf()</div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00035">YUV.hpp:35</a></div></div>
+<div class="ttc" id="namespacemeow_html_ace828526337b865be410d3a78d07d8b0"><div class="ttname"><a href="namespacemeow.html#ace828526337b865be410d3a78d07d8b0">meow::YUV_to_RGB</a></div><div class="ttdeci">void YUV_to_RGB(YUV&lt; YUV_T &gt; const &amp;yuv, RGB&lt; RGB_T &gt; *rgb)</div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00060">YUV.hpp:60</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_a211d1df1e9d314e32a7d9683f16a09ee"><div class="ttname"><a href="classmeow_1_1YUVf.html#a211d1df1e9d314e32a7d9683f16a09ee">meow::YUVf::uMax</a></div><div class="ttdeci">double uMax() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00042">YUV.hpp:42</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_a90a1f836a1036af244fb7c4011205a88"><div class="ttname"><a href="classmeow_1_1YUVf.html#a90a1f836a1036af244fb7c4011205a88">meow::YUVf::yMax</a></div><div class="ttdeci">double yMax() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00040">YUV.hpp:40</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a71ec640b3ad61970e9261523ed412e2a"><div class="ttname"><a href="classmeow_1_1YUV.html#a71ec640b3ad61970e9261523ed412e2a">meow::YUV::vMin</a></div><div class="ttdeci">virtual T vMin() const =0</div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_ac1e1bd0f904c0bc4d68d117ec9a88932"><div class="ttname"><a href="classmeow_1_1RGB.html#ac1e1bd0f904c0bc4d68d117ec9a88932">meow::RGB::gMax</a></div><div class="ttdeci">virtual T gMax() const =0</div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_addc332aa6c92829fe96808e0f0f7212b"><div class="ttname"><a href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">meow::YUV::u</a></div><div class="ttdeci">T u() const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00017">YUV.hpp:17</a></div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_a348908dfe16b5a77e30c69d2126fb010"><div class="ttname"><a href="classmeow_1_1RGB.html#a348908dfe16b5a77e30c69d2126fb010">meow::RGB::rMin</a></div><div class="ttdeci">virtual T rMin() const =0</div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a5edef3b5de6f888b04f698ce62f7dbfc"><div class="ttname"><a href="classmeow_1_1YUV.html#a5edef3b5de6f888b04f698ce62f7dbfc">meow::YUV::yuv</a></div><div class="ttdeci">T yuv(size_t i) const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00019">YUV.hpp:19</a></div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_ad427ada53b9a14dfc46150d54e983cfb"><div class="ttname"><a href="classmeow_1_1RGB.html#ad427ada53b9a14dfc46150d54e983cfb">meow::RGB::g</a></div><div class="ttdeci">T g() const </div><div class="ttdef"><b>Definition:</b> <a href="RGB_8hpp_source.html#l00015">RGB.hpp:15</a></div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_abc9f6654db5515946b10c7d593fc49cd"><div class="ttname"><a href="classmeow_1_1RGB.html#abc9f6654db5515946b10c7d593fc49cd">meow::RGB::gMin</a></div><div class="ttdeci">virtual T gMin() const =0</div></div>
+<div class="ttc" id="classmeow_1_1RGB_html_aebff34ce6c558095ae73164a84f2e4c3"><div class="ttname"><a href="classmeow_1_1RGB.html#aebff34ce6c558095ae73164a84f2e4c3">meow::RGB::b</a></div><div class="ttdeci">T b() const </div><div class="ttdef"><b>Definition:</b> <a href="RGB_8hpp_source.html#l00016">RGB.hpp:16</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a3c28c80c9b99f16ee50f8dc80294af5b"><div class="ttname"><a href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b">meow::YUV::vuy</a></div><div class="ttdeci">T vuy(size_t i) const </div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00022">YUV.hpp:22</a></div></div>
+<div class="ttc" id="classmeow_1_1YUVf_html_a3dbaafe1ef635dabdc2374da8f4164a1"><div class="ttname"><a href="classmeow_1_1YUVf.html#a3dbaafe1ef635dabdc2374da8f4164a1">meow::YUVf::~YUVf</a></div><div class="ttdeci">~YUVf()</div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00036">YUV.hpp:36</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a05049ae90e750fa76d770f1c65ec7497"><div class="ttname"><a href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">meow::YUV::YUV</a></div><div class="ttdeci">YUV()</div><div class="ttdef"><b>Definition:</b> <a href="YUV_8hpp_source.html#l00006">YUV.hpp:6</a></div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_a858dd15fe0c951bd5cad92099c565c26"><div class="ttname"><a href="classmeow_1_1YUV.html#a858dd15fe0c951bd5cad92099c565c26">meow::YUV::uMax</a></div><div class="ttdeci">virtual T uMax() const =0</div></div>
+<div class="ttc" id="classmeow_1_1YUV_html_af0e2d389c930707868a8ba73fe10bdbe"><div class="ttname"><a href="classmeow_1_1YUV.html#af0e2d389c930707868a8ba73fe10bdbe">meow::YUV::uMin</a></div><div class="ttdeci">virtual T uMin() const =0</div></div>
+</div><!-- fragment --></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- HTML footer for doxygen 1.8.3.1-->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ <li class="navelem"><a class="el" href="dir_92fecd8d02dd5e7a67429447fdf0f60f.html">meowpp</a></li><li class="navelem"><a class="el" href="dir_f6840b2fecd08a3779df34f0add0e074.html">colors</a></li><li class="navelem"><a class="el" href="YUV_8hpp.html">YUV.hpp</a></li>
+ <li class="footer">Generated on Mon Jun 23 2014 17:02:02 for Templates -- Meow by
+ <a href="http://www.doxygen.org/index.html">
+ <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
+ </ul>
+</div>
+</body>
+</html>