blob: d3d221f7c0db0cc84587dc349ccb0eeaedf50f17 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>CxImage: DSP</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.8 -->
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>DSP</h1><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga29">CxImage::ImageOpType</a> { <br>
&nbsp;&nbsp;<a class="el" href="group___d_s_p.html#gga29w25">CxImage::OpAdd</a>,
<a class="el" href="group___d_s_p.html#gga29w26">CxImage::OpAnd</a>,
<a class="el" href="group___d_s_p.html#gga29w34">CxImage::OpXor</a>,
<a class="el" href="group___d_s_p.html#gga29w29">CxImage::OpOr</a>,
<br>
&nbsp;&nbsp;<a class="el" href="group___d_s_p.html#gga29w28">CxImage::OpMask</a>,
<a class="el" href="group___d_s_p.html#gga29w32">CxImage::OpSrcCopy</a>,
<a class="el" href="group___d_s_p.html#gga29w27">CxImage::OpDstCopy</a>,
<a class="el" href="group___d_s_p.html#gga29w33">CxImage::OpSub</a>,
<br>
&nbsp;&nbsp;<a class="el" href="group___d_s_p.html#gga29w31">CxImage::OpSrcBlend</a>,
<a class="el" href="group___d_s_p.html#gga29w30">CxImage::OpScreen</a>
<br>
}</td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga16">CxImage::Colorize</a> (BYTE hue, BYTE sat, float blend=1.0f)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga9">CxImage::Combine</a> (<a class="el" href="class_cx_image.html">CxImage</a> *r, <a class="el" href="class_cx_image.html">CxImage</a> *g, <a class="el" href="class_cx_image.html">CxImage</a> *b, <a class="el" href="class_cx_image.html">CxImage</a> *a, long colorspace=0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga0">CxImage::Contour</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga21">CxImage::Dilate</a> (long Ksize=2)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga22">CxImage::Edge</a> (long Ksize=2)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga20">CxImage::Erode</a> (long Ksize=2)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga10">CxImage::FFT2</a> (<a class="el" href="class_cx_image.html">CxImage</a> *srcReal, <a class="el" href="class_cx_image.html">CxImage</a> *srcImag, <a class="el" href="class_cx_image.html">CxImage</a> *dstReal, <a class="el" href="class_cx_image.html">CxImage</a> *dstImag, long direction=1, bool bForceFFT=true, bool bMagnitude=true)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga19">CxImage::Filter</a> (long *kernel, long Ksize, long Kfactor, long Koffset)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga13">CxImage::Gamma</a> (float gamma)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>long&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga6">CxImage::Histogram</a> (long *red, long *green=0, long *blue=0, long *gray=0, long colorspace=0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga2">CxImage::HistogramEqualize</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga5">CxImage::HistogramLog</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga3">CxImage::HistogramNormalize</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga4">CxImage::HistogramRoot</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga1">CxImage::HistogramStretch</a> (long method=0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga23">CxImage::HuePalette</a> (float correction=1)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga7">CxImage::Jitter</a> (long radius=2)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga17">CxImage::Light</a> (long brightness, long contrast=0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga28">CxImage::Lut</a> (BYTE *pLutR, BYTE *pLutG, BYTE *pLutB, BYTE *pLutA=0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga27">CxImage::Lut</a> (BYTE *pLut)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga18">CxImage::Mean</a> ()</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga12">CxImage::Median</a> (long Ksize=3)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga24">CxImage::Mix</a> (<a class="el" href="class_cx_image.html">CxImage</a> &amp;imgsrc2, ImageOpType op, long lXOffset=0, long lYOffset=0, bool bMixAlpha=false)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga25">CxImage::MixFrom</a> (<a class="el" href="class_cx_image.html">CxImage</a> &amp;imagesrc2, long lXOffset, long lYOffset)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga11">CxImage::Noise</a> (long level)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga8">CxImage::Repair</a> (float radius=0.25f, long niterations=1, long colorspace=0)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga14">CxImage::ShiftRGB</a> (long r, long g, long b)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga15">CxImage::Threshold</a> (BYTE level)</td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group___d_s_p.html#ga26">CxImage::UnsharpMask</a> (float radius=5.0, float amount=0.5, int threshold=0)</td></tr>
</table>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="ga29" doxytag="CxImage::ImageOpType" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> enum <a class="el" href="group___d_s_p.html#ga29">CxImage::ImageOpType</a><code> [inherited]</code> </td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Enumeration values: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em><a class="anchor" name="gga29w25" doxytag="OpAdd" ></a>OpAdd</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w26" doxytag="OpAnd" ></a>OpAnd</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w34" doxytag="OpXor" ></a>OpXor</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w29" doxytag="OpOr" ></a>OpOr</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w28" doxytag="OpMask" ></a>OpMask</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w32" doxytag="OpSrcCopy" ></a>OpSrcCopy</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w27" doxytag="OpDstCopy" ></a>OpDstCopy</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w33" doxytag="OpSub" ></a>OpSub</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w31" doxytag="OpSrcBlend" ></a>OpSrcBlend</em>&nbsp;</td><td>
</td></tr>
<tr><td valign=top><em><a class="anchor" name="gga29w30" doxytag="OpScreen" ></a>OpScreen</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ga16" doxytag="CxImage::Colorize" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Colorize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">BYTE&nbsp;</td>
<td class="mdname" nowrap> <em>hue</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>BYTE&nbsp;</td>
<td class="mdname" nowrap> <em>sat</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>float&nbsp;</td>
<td class="mdname" nowrap> <em>blend</em> = <code>1.0f</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Replaces the original hue and saturation values. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>hue:</em>&nbsp;</td><td>hue </td></tr>
<tr><td></td><td valign=top><em>sat:</em>&nbsp;</td><td>saturation </td></tr>
<tr><td></td><td valign=top><em>blend:</em>&nbsp;</td><td>can be from 0 (no effect) to 1 (full effect) </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga9" doxytag="CxImage::Combine" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Combine </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>r</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>g</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>b</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>a</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>colorspace</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Combines different color components into a single image <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>r,g,b:</em>&nbsp;</td><td>color channels </td></tr>
<tr><td></td><td valign=top><em>a:</em>&nbsp;</td><td>alpha layer, can be NULL </td></tr>
<tr><td></td><td valign=top><em>colorspace:</em>&nbsp;</td><td>0 = RGB, 1 = HSL, 2 = YUV, 3 = YIQ, 4 = XYZ </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga0" doxytag="CxImage::Contour" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Contour </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Enhance the variations between adjacent pixels. Similar results can be achieved using <a class="el" href="group___d_s_p.html#ga19">Filter()</a>, but the algorithms are different both in <a class="el" href="group___d_s_p.html#ga22">Edge()</a> and in <a class="el" href="group___d_s_p.html#ga0">Contour()</a>. <dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga21" doxytag="CxImage::Dilate" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Dilate </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>Ksize</em> = <code>2</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Enhance the light areas of the image <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>Ksize:</em>&nbsp;</td><td>size of the kernel. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga22" doxytag="CxImage::Edge" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Edge </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>Ksize</em> = <code>2</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Enhance the variations between adjacent pixels. Similar results can be achieved using <a class="el" href="group___d_s_p.html#ga19">Filter()</a>, but the algorithms are different both in <a class="el" href="group___d_s_p.html#ga22">Edge()</a> and in <a class="el" href="group___d_s_p.html#ga0">Contour()</a>. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>Ksize:</em>&nbsp;</td><td>size of the kernel. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga20" doxytag="CxImage::Erode" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Erode </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>Ksize</em> = <code>2</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Enhance the dark areas of the image <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>Ksize:</em>&nbsp;</td><td>size of the kernel. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga10" doxytag="CxImage::FFT2" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::FFT2 </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>srcReal</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>srcImag</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>dstReal</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="class_cx_image.html">CxImage</a> *&nbsp;</td>
<td class="mdname" nowrap> <em>dstImag</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>direction</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>bool&nbsp;</td>
<td class="mdname" nowrap> <em>bForceFFT</em> = <code>true</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>bool&nbsp;</td>
<td class="mdname" nowrap> <em>bMagnitude</em> = <code>true</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Computes the bidimensional FFT or DFT of the image.<ul>
<li>The images are processed as grayscale</li><li>If the dimensions of the image are a power of, 2 the FFT is performed automatically.</li><li>If dstReal and/or dstImag are NULL, the resulting images replaces the original(s).</li><li>Note: with 8 bits there is a HUGE loss in the dynamics. The function tries to keep an acceptable SNR, but 8bit = 48dB...</li></ul>
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>srcReal,srcImag:</em>&nbsp;</td><td>source images: One can be NULL, but not both </td></tr>
<tr><td></td><td valign=top><em>dstReal,dstImag:</em>&nbsp;</td><td>destination images. Can be NULL. </td></tr>
<tr><td></td><td valign=top><em>direction:</em>&nbsp;</td><td>1 = forward, -1 = inverse. </td></tr>
<tr><td></td><td valign=top><em>bForceFFT:</em>&nbsp;</td><td>if true, the images are resampled to make the dimensions a power of 2. </td></tr>
<tr><td></td><td valign=top><em>bMagnitude:</em>&nbsp;</td><td>if true, the real part returns the magnitude, the imaginary part returns the phase </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga19" doxytag="CxImage::Filter" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Filter </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long *&nbsp;</td>
<td class="mdname" nowrap> <em>kernel</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>Ksize</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>Kfactor</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>Koffset</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
2D linear filter <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>kernel:</em>&nbsp;</td><td>convolving matrix, in row format. </td></tr>
<tr><td></td><td valign=top><em>Ksize:</em>&nbsp;</td><td>size of the kernel. </td></tr>
<tr><td></td><td valign=top><em>Kfactor:</em>&nbsp;</td><td>normalization constant. </td></tr>
<tr><td></td><td valign=top><em>Koffset:</em>&nbsp;</td><td>bias. <div class="fragment"><pre> Example: the "soften" filter uses this kernel:
1 1 1
1 8 1
1 1 1
the function needs: kernel={1,1,1,1,8,1,1,1,1}; Ksize=3; Kfactor=16; Koffset=0; </pre></div></td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga13" doxytag="CxImage::Gamma" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Gamma </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">float&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>gamma</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Adjusts the color balance of the image <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>gamma</em>&nbsp;</td><td>can be from 0.1 to 5. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga6" doxytag="CxImage::Histogram" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> long CxImage::Histogram </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long *&nbsp;</td>
<td class="mdname" nowrap> <em>red</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long *&nbsp;</td>
<td class="mdname" nowrap> <em>green</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long *&nbsp;</td>
<td class="mdname" nowrap> <em>blue</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long *&nbsp;</td>
<td class="mdname" nowrap> <em>gray</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>colorspace</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="ga2" doxytag="CxImage::HistogramEqualize" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::HistogramEqualize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="ga5" doxytag="CxImage::HistogramLog" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::HistogramLog </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="ga3" doxytag="CxImage::HistogramNormalize" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::HistogramNormalize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="ga4" doxytag="CxImage::HistogramRoot" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::HistogramRoot </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="ga1" doxytag="CxImage::HistogramStretch" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::HistogramStretch </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>method</em> = <code>0</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
HistogramStretch <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>method:</em>&nbsp;</td><td>0 = luminance (default), 1 = linked channels , 2 = independent channels. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
<dl compact><dt><b>Author:</b></dt><dd>[dave] and [nipper] </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga23" doxytag="CxImage::HuePalette" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void CxImage::HuePalette </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">float&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>correction</em> = <code>1</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Generates a "rainbow" palette with saturated colors <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>correction:</em>&nbsp;</td><td>1 generates a single hue spectrum. 0.75 is nice for scientific applications. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="ga7" doxytag="CxImage::Jitter" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Jitter </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>radius</em> = <code>2</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Adds a random offset to each pixel in the image <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>radius:</em>&nbsp;</td><td>maximum pixel displacement </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga17" doxytag="CxImage::Light" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Light </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname" nowrap> <em>brightness</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>contrast</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Changes the brightness and the contrast of the image. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>brightness:</em>&nbsp;</td><td>can be from -255 to 255, if brightness is negative, the image becomes dark. </td></tr>
<tr><td></td><td valign=top><em>contrast:</em>&nbsp;</td><td>can be from -100 to 100, the neutral value is 0. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga28" doxytag="CxImage::Lut" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Lut </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">BYTE *&nbsp;</td>
<td class="mdname" nowrap> <em>pLutR</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>BYTE *&nbsp;</td>
<td class="mdname" nowrap> <em>pLutG</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>BYTE *&nbsp;</td>
<td class="mdname" nowrap> <em>pLutB</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>BYTE *&nbsp;</td>
<td class="mdname" nowrap> <em>pLutA</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Apply an indipendent look up table for each channel <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>pLutR,pLutG,pLutB,pLutA:</em>&nbsp;</td><td>BYTE[256] look up tables </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga27" doxytag="CxImage::Lut" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Lut </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">BYTE *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>pLut</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Apply a look up table to the image. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>pLut:</em>&nbsp;</td><td>BYTE[256] look up table </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga18" doxytag="CxImage::Mean" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> float CxImage::Mean </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="mdname1" valign="top" nowrap> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Returns:</b></dt><dd>mean lightness of the image. Useful with <a class="el" href="group___d_s_p.html#ga15">Threshold()</a> and <a class="el" href="group___d_s_p.html#ga17">Light()</a> </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga12" doxytag="CxImage::Median" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Median </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>Ksize</em> = <code>3</code> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Adjusts the intensity of each pixel to the median intensity of its surrounding pixels. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>Ksize:</em>&nbsp;</td><td>size of the kernel. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga24" doxytag="CxImage::Mix" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void CxImage::Mix </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="class_cx_image.html">CxImage</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>imgsrc2</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap><a class="el" href="group___d_s_p.html#ga29">ImageOpType</a>&nbsp;</td>
<td class="mdname" nowrap> <em>op</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>lXOffset</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>lYOffset</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>bool&nbsp;</td>
<td class="mdname" nowrap> <em>bMixAlpha</em> = <code>false</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Blends two images <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>imgsrc2:</em>&nbsp;</td><td>image to be mixed with this </td></tr>
<tr><td></td><td valign=top><em>op:</em>&nbsp;</td><td>blending method; see ImageOpType </td></tr>
<tr><td></td><td valign=top><em>lXOffset,lYOffset:</em>&nbsp;</td><td>image displacement </td></tr>
<tr><td></td><td valign=top><em>bMixAlpha:</em>&nbsp;</td><td>if true and imgsrc2 has a valid alpha layer, it will be mixed in the destination image. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok</dd></dl>
thanks to Mwolski </td>
</tr>
</table>
<a class="anchor" name="ga25" doxytag="CxImage::MixFrom" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> void CxImage::MixFrom </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="class_cx_image.html">CxImage</a> &amp;&nbsp;</td>
<td class="mdname" nowrap> <em>imagesrc2</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>lXOffset</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>lYOffset</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
</td>
</tr>
</table>
<a class="anchor" name="ga11" doxytag="CxImage::Noise" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Noise </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>level</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Adds an uniform noise to the image <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>level:</em>&nbsp;</td><td>can be from 0 (no noise) to 255 (lot of noise). </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga8" doxytag="CxImage::Repair" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Repair </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">float&nbsp;</td>
<td class="mdname" nowrap> <em>radius</em> = <code>0.25f</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>niterations</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>colorspace</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Smart blurring to remove small defects, dithering or artifacts. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>radius:</em>&nbsp;</td><td>normally between 0.01 and 0.5 </td></tr>
<tr><td></td><td valign=top><em>niterations:</em>&nbsp;</td><td>should be trimmed with radius, to avoid blurring should be (radius*niterations)&lt;1 </td></tr>
<tr><td></td><td valign=top><em>colorspace:</em>&nbsp;</td><td>0 = RGB, 1 = HSL, 2 = YUV, 3 = YIQ, 4 = XYZ </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga14" doxytag="CxImage::ShiftRGB" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::ShiftRGB </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">long&nbsp;</td>
<td class="mdname" nowrap> <em>r</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>g</em>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>long&nbsp;</td>
<td class="mdname" nowrap> <em>b</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Adjusts separately the red, green, and blue values in the image. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>r,g,b:</em>&nbsp;</td><td>can be from -255 to +255. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga15" doxytag="CxImage::Threshold" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::Threshold </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">BYTE&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>level</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
Converts the image to B&amp;W. The <a class="el" href="group___d_s_p.html#ga18">Mean()</a> function can be used for calculating the optimal threshold. <dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td></td><td valign=top><em>level:</em>&nbsp;</td><td>the lightness threshold. </td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>true if everything is ok </dd></dl>
</td>
</tr>
</table>
<a class="anchor" name="ga26" doxytag="CxImage::UnsharpMask" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> bool CxImage::UnsharpMask </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">float&nbsp;</td>
<td class="mdname" nowrap> <em>radius</em> = <code>5.0</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>float&nbsp;</td>
<td class="mdname" nowrap> <em>amount</em> = <code>0.5</code>, </td>
</tr>
<tr>
<td class="md" nowrap align="right"></td>
<td></td>
<td class="md" nowrap>int&nbsp;</td>
<td class="mdname" nowrap> <em>threshold</em> = <code>0</code></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"><code> [inherited]</code></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Author:</b></dt><dd>[nipper] </dd></dl>
</td>
</tr>
</table>
<hr size="1"><address style="align: right;"><small>Generated on Mon Oct 11 22:30:18 2004 for CxImage by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 ></a> 1.3.8 </small></address>
</body>
</html>