diff options
Diffstat (limited to 'doc/html/YUV_8hpp_source.html')
-rw-r--r-- | doc/html/YUV_8hpp_source.html | 182 |
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 +  <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> <span class="preprocessor">#include <algorithm></span></div> +<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="preprocessor">#include "<a class="code" href="RGB_8h.html">RGB.h</a>"</span></div> +<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#include "../utility.h"</span></div> +<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> </div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">YUV<T>::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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">YUV<T>::YUV</a>(T <span class="keyword">const</span>& y, T <span class="keyword">const</span>& u, T <span class="keyword">const</span>& v){</div> +<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  yuv_[0] = y; yuv_[1] = u; yuv_[2] = v;</div> +<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  }</div> +<div class="line"><a name="l00010"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#ad606818b51a58a857e4cf25b81dccd0f"> 10</a></span>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> <a class="code" href="classmeow_1_1YUV.html#a05049ae90e750fa76d770f1c65ec7497">YUV<T>::YUV</a>(T <span class="keyword">const</span>* yuv){</div> +<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i < 3; i++){</div> +<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>  yuv_[i] = yuv[i];</div> +<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  }</div> +<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  }</div> +<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18"> 16</a></span>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">YUV<T>::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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">YUV<T>::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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">YUV<T>::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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a5edef3b5de6f888b04f698ce62f7dbfc">YUV<T>::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>  <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>  }</div> +<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b"> 22</a></span>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b">YUV<T>::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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">YUV<T>::y</a>(T <span class="keyword">const</span>& 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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">YUV<T>::u</a>(T <span class="keyword">const</span>& 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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">YUV<T>::v</a>(T <span class="keyword">const</span>& 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>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a5edef3b5de6f888b04f698ce62f7dbfc">YUV<T>::yuv</a>(<span class="keywordtype">size_t</span> i, T <span class="keyword">const</span>& val){</div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  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>  <span class="keywordflow">return</span> (yuv_[i] = val);</div> +<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div> +<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classmeow_1_1YUV.html#a2f75452f4b862468de4ed55a16841592"> 31</a></span>  <span class="keyword">template</span><<span class="keyword">class</span> T> <span class="keyword">inline</span> T <a class="code" href="classmeow_1_1YUV.html#a3c28c80c9b99f16ee50f8dc80294af5b">YUV<T>::vuy</a>(<span class="keywordtype">size_t</span> i, T <span class="keyword">const</span>& val){</div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> yuv(2 - i, val);</div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  }</div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> +<div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="classmeow_1_1YUVf.html#ac43c12e88f7dea7b4990a5a3e01e6102"> 35</a></span>  <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>  <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>  <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>& y, <span class="keywordtype">double</span> <span class="keyword">const</span>& u, <span class="keywordtype">double</span> <span class="keyword">const</span>& 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>  <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>  <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>  <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>  <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>  <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>  <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>  <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>  </div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div> +<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespacemeow.html#a9682162b4b67148649d87c2049175820"> 47</a></span>  <span class="keyword">template</span><<span class="keyword">class</span> RGB_T, <span class="keyword">class</span> YUV_T> <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>  <a class="code" href="classmeow_1_1RGB.html">RGB<RGB_T></a> <span class="keyword">const</span>& rgb,</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classmeow_1_1YUV.html">YUV<YUV_T></a> * yuv){</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <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>  <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>  <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>  <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>  <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>  <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>  yuv-><a class="code" href="classmeow_1_1YUV.html#a6617e96d557ec53fff12bf634f536c18">y</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</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>(), y));</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  yuv-><a class="code" href="classmeow_1_1YUV.html#addc332aa6c92829fe96808e0f0f7212b">u</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</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>(), u));</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  yuv-><a class="code" href="classmeow_1_1YUV.html#a8c5f97ba28e24dc7e8c89caba748bcc7">v</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</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>(), v));</div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div> +<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespacemeow.html#ace828526337b865be410d3a78d07d8b0"> 60</a></span>  <span class="keyword">template</span><<span class="keyword">class</span> YUV_T, <span class="keyword">class</span> RGB_T> <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>  <a class="code" href="classmeow_1_1YUV.html">YUV<YUV_T></a> <span class="keyword">const</span>& yuv,</div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="classmeow_1_1RGB.html">RGB<RGB_T></a> * rgb){</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <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>  <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>  <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>  <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>  <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>  <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>  rgb-><a class="code" href="classmeow_1_1RGB.html#af404b8c2793659741bf4dcd3f9599c74">r</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</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>(), r));</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  rgb-><a class="code" href="classmeow_1_1RGB.html#ad427ada53b9a14dfc46150d54e983cfb">g</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</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>(), g));</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  rgb-><a class="code" href="classmeow_1_1RGB.html#aebff34ce6c558095ae73164a84f2e4c3">b</a>(<a class="code" href="namespacemeow.html#af95cfca15ad7a51ed4d07b06e1296080">denormalize</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>(), b));</div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </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< RGB_T > const &rgb, YUV< YUV_T > *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< YUV_T > const &yuv, RGB< RGB_T > *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> |