blob: 21289c21eb58be222e4b59cd0c7e2fc1a5faa2de [file] [log] [blame]
cristy3eaa0ef2010-03-06 20:35:26 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
cristy2c839602010-04-03 02:32:08 +00003<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3de29cc2010-04-15 02:34:44 +00005 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
cristy3eaa0ef2010-03-06 20:35:26 +00006 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
cristy3de29cc2010-04-15 02:34:44 +00008 <style type="text/css" media="all">
cristy3eaa0ef2010-03-06 20:35:26 +00009 @import url("../../www/magick.css");
cristy3de29cc2010-04-15 02:34:44 +000010 </style>
cristy3749be42010-02-02 02:46:51 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Image Statistics</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, image, statistics, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
18 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
25 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
26 <meta name="Distribution" content="Global"/>
cristy3eaa0ef2010-03-06 20:35:26 +000027</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
cristyce69bb02010-07-27 19:49:46 +000045<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000046
cristy3749be42010-02-02 02:46:51 +000047<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000048 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3749be42010-02-02 02:46:51 +000049</div>
cristy3eaa0ef2010-03-06 20:35:26 +000050<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +000051<div class="menu">
cristybb503372010-05-27 20:51:26 +000052 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
53</div>
54<div class="sub">
55 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
62</div>
63<div class="sep"></div>
64<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000065 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3749be42010-02-02 02:46:51 +000066</div>
67<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000068 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3749be42010-02-02 02:46:51 +000069</div>
70<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000071 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3749be42010-02-02 02:46:51 +000072</div>
73<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000074 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3749be42010-02-02 02:46:51 +000075</div>
76<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000077 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3749be42010-02-02 02:46:51 +000078</div>
79<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000080 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3749be42010-02-02 02:46:51 +000081</div>
82<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3749be42010-02-02 02:46:51 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3749be42010-02-02 02:46:51 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3749be42010-02-02 02:46:51 +000090</div>
cristy3eaa0ef2010-03-06 20:35:26 +000091<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +000092<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3749be42010-02-02 02:46:51 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3749be42010-02-02 02:46:51 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3749be42010-02-02 02:46:51 +0000100 </div>
101<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3749be42010-02-02 02:46:51 +0000103</div>
cristybb503372010-05-27 20:51:26 +0000104<div class="menu">
105 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
106</div>
cristy3749be42010-02-02 02:46:51 +0000107<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000108 <a title="Download" href="../../www/download.html">Download</a>
cristy3749be42010-02-02 02:46:51 +0000109</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000110<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000111<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3749be42010-02-02 02:46:51 +0000113</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000114<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000115<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000116 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
cristy3749be42010-02-02 02:46:51 +0000117</div>
118<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Site Map: Links"href="../../www/links.html">Links</a>
cristy3749be42010-02-02 02:46:51 +0000120</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000121<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000122<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000123 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3749be42010-02-02 02:46:51 +0000124
125<div class="sponsbox">
126<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000127 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy320dd6e2010-04-16 20:11:40 +0000128</div>
129<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristy8f900122010-03-05 15:26:31 +0000131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy3749be42010-02-02 02:46:51 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy3749be42010-02-02 02:46:51 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3749be42010-02-02 02:46:51 +0000140</div>
cristyd6dfc0d2010-06-27 19:30:49 +0000141<div class="sponsor">
cristya8902942010-07-30 00:49:52 +0000142 <a title="Sponsor: Online-Magazin" href="http://www.unkostenbeitrag.de/">Online-Magazin</a><!-- 20101101000200 -->
cristyd6dfc0d2010-06-27 19:30:49 +0000143</div>
cristy3749be42010-02-02 02:46:51 +0000144</div>
145</div>
cristyce69bb02010-07-27 19:49:46 +0000146</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000147
cristyce69bb02010-07-27 19:49:46 +0000148<div class="eastbar">
149 <script type="text/javascript">
150 <!--
151 google_ad_client = "pub-3129977114552745";
152 /* 160x600, created 7/27/10 */
153 google_ad_slot = "0574824969";
154 google_ad_width = 160;
155 google_ad_height = 600;
156 //-->
157 </script>
158 <script type="text/javascript"
159 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
160 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000161</div>
162
163<div class="main">
164
cristy63fed272010-03-07 19:08:45 +0000165<p class="navigation-index">[<a href="#EvaluateImage">EvaluateImage</a> &bull; <a href="#FunctionImage">FunctionImage</a> &bull; <a href="#GetImageChannelMean">GetImageChannelMean</a> &bull; <a href="#GetImageChannelKurtosis">GetImageChannelKurtosis</a> &bull; <a href="#GetImageChannelRange">GetImageChannelRange</a> &bull; <a href="#GetImageChannelStatistics">GetImageChannelStatistics</a>]</p>
cristy3749be42010-02-02 02:46:51 +0000166
167<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
cristy63fed272010-03-07 19:08:45 +0000168_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
cristy3749be42010-02-02 02:46:51 +0000169<div class="doc-section">
170
cristy63fed272010-03-07 19:08:45 +0000171<p>EvaluateImage() applies a value to the image with an arithmetic, relational, or logical operator to an image. Use these operations to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.</p></ol>
cristy3749be42010-02-02 02:46:51 +0000172
cristy63fed272010-03-07 19:08:45 +0000173<p>The format of the EvaluateImageChannel method is:</p>
cristy3749be42010-02-02 02:46:51 +0000174
175<pre class="code">
cristy63fed272010-03-07 19:08:45 +0000176 MagickBooleanType EvaluateImage(Image *image,
177 const MagickEvaluateOperator op,const double value,
178 ExceptionInfo *exception)
179 MagickBooleanType EvaluateImages(Image *images,
180 const MagickEvaluateOperator op,const double value,
181 ExceptionInfo *exception)
182 MagickBooleanType EvaluateImageChannel(Image *image,
183 const ChannelType channel,const MagickEvaluateOperator op,
184 const double value,ExceptionInfo *exception)
cristy3749be42010-02-02 02:46:51 +0000185</pre>
186
187<p>A description of each parameter follows:</p></ol>
188
189<h5>image</h5>
cristy63fed272010-03-07 19:08:45 +0000190<ol><p>the image.</p></ol>
191
192<h5>channel</h5>
193<ol><p>the channel.</p></ol>
194
195<h5>op</h5>
196<ol><p>A channel op.</p></ol>
197
198<h5>value</h5>
199<ol><p>A value value.</p></ol>
200
201<h5>exception</h5>
202<ol><p>return any errors or warnings in this structure.</p></ol>
203
204 </div>
205<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
206_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
207<div class="doc-section">
208
209<p>FunctionImage() applies a value to the image with an arithmetic, relational, or logical operator to an image. Use these operations to lighten or darken an image, to increase or decrease contrast in an image, or to produce the "negative" of an image.</p></ol>
210
211<p>The format of the FunctionImageChannel method is:</p>
212
213<pre class="code">
214 MagickBooleanType FunctionImage(Image *image,
cristybb503372010-05-27 20:51:26 +0000215 const MagickFunction function,const ssize_t number_parameters,
cristy63fed272010-03-07 19:08:45 +0000216 const double *parameters,ExceptionInfo *exception)
217 MagickBooleanType FunctionImageChannel(Image *image,
218 const ChannelType channel,const MagickFunction function,
cristybb503372010-05-27 20:51:26 +0000219 const ssize_t number_parameters,const double *argument,
cristy63fed272010-03-07 19:08:45 +0000220 ExceptionInfo *exception)
221</pre>
222
223<p>A description of each parameter follows:</p></ol>
224
225<h5>image</h5>
226<ol><p>the image.</p></ol>
227
228<h5>channel</h5>
229<ol><p>the channel.</p></ol>
230
231<h5>function</h5>
232<ol><p>A channel function.</p></ol>
233
234<h5>parameters</h5>
235<ol><p>one or more parameters.</p></ol>
cristy3749be42010-02-02 02:46:51 +0000236
237<h5>exception</h5>
238<ol><p>return any errors or warnings in this structure.</p></ol>
239
240 </div>
241<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
242_8c.html" target="source" name="GetImageChannelMean">GetImageChannelMean</a></h2>
243<div class="doc-section">
244
245<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p></ol>
246
247<p>The format of the GetImageChannelMean method is:</p>
248
249<pre class="code">
250 MagickBooleanType GetImageChannelMean(const Image *image,
251 const ChannelType channel,double *mean,double *standard_deviation,
252 ExceptionInfo *exception)
253</pre>
254
255<p>A description of each parameter follows:</p></ol>
256
257<h5>image</h5>
258<ol><p>the image.</p></ol>
259
260<h5>channel</h5>
261<ol><p>the channel.</p></ol>
262
263<h5>mean</h5>
264<ol><p>the average value in the channel.</p></ol>
265
266<h5>standard_deviation</h5>
267<ol><p>the standard deviation of the channel.</p></ol>
268
269<h5>exception</h5>
270<ol><p>return any errors or warnings in this structure.</p></ol>
271
272 </div>
273<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
274_8c.html" target="source" name="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
275<div class="doc-section">
276
277<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p></ol>
278
279<p>The format of the GetImageChannelKurtosis method is:</p>
280
281<pre class="code">
282 MagickBooleanType GetImageChannelKurtosis(const Image *image,
283 const ChannelType channel,double *kurtosis,double *skewness,
284 ExceptionInfo *exception)
285</pre>
286
287<p>A description of each parameter follows:</p></ol>
288
289<h5>image</h5>
290<ol><p>the image.</p></ol>
291
292<h5>channel</h5>
293<ol><p>the channel.</p></ol>
294
295<h5>kurtosis</h5>
296<ol><p>the kurtosis of the channel.</p></ol>
297
298<h5>skewness</h5>
299<ol><p>the skewness of the channel.</p></ol>
300
301<h5>exception</h5>
302<ol><p>return any errors or warnings in this structure.</p></ol>
303
304 </div>
305<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
306_8c.html" target="source" name="GetImageChannelRange">GetImageChannelRange</a></h2>
307<div class="doc-section">
308
309<p>GetImageChannelRange() returns the range of one or more image channels.</p></ol>
310
311<p>The format of the GetImageChannelRange method is:</p>
312
313<pre class="code">
314 MagickBooleanType GetImageChannelRange(const Image *image,
315 const ChannelType channel,double *minima,double *maxima,
316 ExceptionInfo *exception)
317</pre>
318
319<p>A description of each parameter follows:</p></ol>
320
321<h5>image</h5>
322<ol><p>the image.</p></ol>
323
324<h5>channel</h5>
325<ol><p>the channel.</p></ol>
326
327<h5>minima</h5>
328<ol><p>the minimum value in the channel.</p></ol>
329
330<h5>maxima</h5>
331<ol><p>the maximum value in the channel.</p></ol>
332
333<h5>exception</h5>
334<ol><p>return any errors or warnings in this structure.</p></ol>
335
336 </div>
337<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
338_8c.html" target="source" name="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
339<div class="doc-section">
340
341<p>GetImageChannelStatistics() returns statistics for each channel in the image. The statistics include the channel depth, its minima, maxima, mean, standard deviation, kurtosis and skewness. You can access the red channel mean, for example, like this:</p>
342
343<pre class="text">
344 channel_statistics=GetImageChannelStatistics(image,excepton);
345 red_mean=channel_statistics[RedChannel].mean;
346</pre>
347
348<p>Use MagickRelinquishMemory() to free the statistics buffer.</p></ol>
349
350<p>The format of the GetImageChannelStatistics method is:</p>
351
352<pre class="code">
353 ChannelStatistics *GetImageChannelStatistics(const Image *image,
354 ExceptionInfo *exception)
355</pre>
356
357<p>A description of each parameter follows:</p></ol>
358
359<h5>image</h5>
360<ol><p>the image.</p></ol>
361
362<h5>exception</h5>
363<ol><p>return any errors or warnings in this structure.</p></ol>
364
365 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000366
367</div>
368
369<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000370 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000371 <span id="linkbar-center">
372 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000373 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000374 </span>
375 <span id="linkbar-east">&nbsp;</span>
376 </div>
377 <div class="footer">
378 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
379 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
380 </div>
381 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000382 <script type="text/javascript">
383 var _gaq = _gaq || [];
384 _gaq.push(['_setAccount', 'UA-17690367-1']);
385 _gaq.push(['_trackPageview']);
386
387 (function() {
388 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
389 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
390 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
391 })();
392 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000393</body>
394</html>