blob: d2e0dfb3886136f037014160452bee70ae5e2805 [file] [log] [blame]
cristydcca3fa2010-12-29 21:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3c98a4f2010-08-13 20:09:41 +00005 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +00007 <title>ImageMagick: MagickCore, C API for ImageMagick: Image Statistics</title>
cristy3749be42010-02-02 02:46:51 +00008 <meta http-equiv="Content-Language" content="en-US"/>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000011 <meta name="Application-name" content="ImageMagick"/>
cristydcca3fa2010-12-29 21:50:07 +000012 <meta name="Description" content="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, rotate, shear, distort and transform images."/>
cristy3c98a4f2010-08-13 20:09:41 +000013 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3749be42010-02-02 02:46:51 +000014 <meta name="Generator" content="PHP"/>
15 <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"/>
cristy3749be42010-02-02 02:46:51 +000016 <meta name="Rating" content="GENERAL"/>
17 <meta name="Robots" content="INDEX, FOLLOW"/>
18 <meta name="Generator" content="ImageMagick Studio LLC"/>
19 <meta name="Author" content="ImageMagick Studio LLC"/>
20 <meta name="Revisit-after" content="2 DAYS"/>
21 <meta name="Resource-type" content="document"/>
cristy4103d562010-12-10 01:38:54 +000022 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy3749be42010-02-02 02:46:51 +000023 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000024 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000025 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
26 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
27 <style type="text/css" media="all">
28 @import url("../../www/magick.css");
29 </style>
cristydcca3fa2010-12-29 21:50:07 +000030 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000031 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
32 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
33 <script type="text/javascript">
34 $(document).ready(function() {
35 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
36 'transitionIn' : 'elastic',
37 'transitionOut' : 'elastic',
38 'overlayShow' : false,
39 'opacity' : true
40 });
41 });
42 </script>
cristy3eaa0ef2010-03-06 20:35:26 +000043</head>
44
45<body id="www-imagemagick-org">
46<div class="titlebar">
47<a href="../../index.html">
48 <img src="../../images/script.png" alt="[ImageMagick]"
49 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
50<a href="http://www.networkredux.com">
51 <img src="../../images/networkredux.png" alt="[sponsor]"
52 style="margin: 45px auto; border: 0px; float: left;" /></a>
53<a href="http://www.imagemagick.org/discourse-server/">
54 <img src="../../images/logo.jpg" alt=""
55 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
56<a href="../../index.html">
57 <img src="../../images/sprite.jpg" alt=""
58 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
59</div>
60
cristyce69bb02010-07-27 19:49:46 +000061<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000062
cristy3749be42010-02-02 02:46:51 +000063<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000064 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3749be42010-02-02 02:46:51 +000065</div>
cristy3eaa0ef2010-03-06 20:35:26 +000066<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +000067<div class="menu">
cristybb503372010-05-27 20:51:26 +000068 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
69</div>
70<div class="sub">
71 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
72</div>
73<div class="sub">
74 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
75</div>
76<div class="sub">
77 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
78</div>
79<div class="sep"></div>
80<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000081 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3749be42010-02-02 02:46:51 +000082</div>
83<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000084 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3749be42010-02-02 02:46:51 +000085</div>
86<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000087 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3749be42010-02-02 02:46:51 +000088</div>
89<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000090 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3749be42010-02-02 02:46:51 +000091</div>
92<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3749be42010-02-02 02:46:51 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3749be42010-02-02 02:46:51 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3749be42010-02-02 02:46:51 +0000100</div>
101<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3749be42010-02-02 02:46:51 +0000103</div>
104<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000105 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy3749be42010-02-02 02:46:51 +0000106</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000107<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000108<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000109 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3749be42010-02-02 02:46:51 +0000110</div>
111<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3749be42010-02-02 02:46:51 +0000113</div>
114<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000115 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3749be42010-02-02 02:46:51 +0000116 </div>
117<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000118 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3749be42010-02-02 02:46:51 +0000119</div>
cristybb503372010-05-27 20:51:26 +0000120<div class="menu">
121 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
122</div>
cristy3749be42010-02-02 02:46:51 +0000123<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000124 <a title="Download" href="../../www/download.html">Download</a>
cristy3749be42010-02-02 02:46:51 +0000125</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000126<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000127<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000128 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3749be42010-02-02 02:46:51 +0000129</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000130<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000131<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000132 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3749be42010-02-02 02:46:51 +0000133</div>
134<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000135 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3749be42010-02-02 02:46:51 +0000136</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000137<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000138<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3749be42010-02-02 02:46:51 +0000140
141<div class="sponsbox">
cristyec6b4752011-01-08 03:16:23 +0000142<div class="sponsor">
143 <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.html">Web Hosting</a><!-- 201104010090 -->
cristy7d52cd62010-10-01 17:26:59 +0000144</div>
145<div class="sponsor">
146 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000147</div>
148<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000149 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
150</div>
151<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000152 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
153</div>
cristyec6b4752011-01-08 03:16:23 +0000154<div class="sponsor">
155 <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
156</div>
cristy3749be42010-02-02 02:46:51 +0000157</div>
158</div>
cristyce69bb02010-07-27 19:49:46 +0000159</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000160
cristyce69bb02010-07-27 19:49:46 +0000161<div class="eastbar">
162 <script type="text/javascript">
163 <!--
164 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000165 google_ad_slot = "0574824969";
166 google_ad_width = 160;
167 google_ad_height = 600;
168 //-->
169 </script>
170 <script type="text/javascript"
171 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
172 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000173</div>
174
175<div class="main">
176
cristy307ba182010-12-25 01:00:34 +0000177<h1>Module statistic
178 Methods</h1>
cristy63fed272010-03-07 19:08:45 +0000179<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 +0000180
181<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
cristy63fed272010-03-07 19:08:45 +0000182_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
cristy3749be42010-02-02 02:46:51 +0000183<div class="doc-section">
184
cristy63fed272010-03-07 19:08:45 +0000185<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 +0000186
cristy63fed272010-03-07 19:08:45 +0000187<p>The format of the EvaluateImageChannel method is:</p>
cristy3749be42010-02-02 02:46:51 +0000188
189<pre class="code">
cristy63fed272010-03-07 19:08:45 +0000190 MagickBooleanType EvaluateImage(Image *image,
191 const MagickEvaluateOperator op,const double value,
192 ExceptionInfo *exception)
193 MagickBooleanType EvaluateImages(Image *images,
194 const MagickEvaluateOperator op,const double value,
195 ExceptionInfo *exception)
196 MagickBooleanType EvaluateImageChannel(Image *image,
197 const ChannelType channel,const MagickEvaluateOperator op,
198 const double value,ExceptionInfo *exception)
cristy3749be42010-02-02 02:46:51 +0000199</pre>
200
201<p>A description of each parameter follows:</p></ol>
202
203<h5>image</h5>
cristy63fed272010-03-07 19:08:45 +0000204<ol><p>the image.</p></ol>
205
206<h5>channel</h5>
207<ol><p>the channel.</p></ol>
208
209<h5>op</h5>
210<ol><p>A channel op.</p></ol>
211
212<h5>value</h5>
213<ol><p>A value value.</p></ol>
214
215<h5>exception</h5>
216<ol><p>return any errors or warnings in this structure.</p></ol>
217
218 </div>
219<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
220_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
221<div class="doc-section">
222
223<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>
224
225<p>The format of the FunctionImageChannel method is:</p>
226
227<pre class="code">
228 MagickBooleanType FunctionImage(Image *image,
cristybb503372010-05-27 20:51:26 +0000229 const MagickFunction function,const ssize_t number_parameters,
cristy63fed272010-03-07 19:08:45 +0000230 const double *parameters,ExceptionInfo *exception)
231 MagickBooleanType FunctionImageChannel(Image *image,
232 const ChannelType channel,const MagickFunction function,
cristybb503372010-05-27 20:51:26 +0000233 const ssize_t number_parameters,const double *argument,
cristy63fed272010-03-07 19:08:45 +0000234 ExceptionInfo *exception)
235</pre>
236
237<p>A description of each parameter follows:</p></ol>
238
239<h5>image</h5>
240<ol><p>the image.</p></ol>
241
242<h5>channel</h5>
243<ol><p>the channel.</p></ol>
244
245<h5>function</h5>
246<ol><p>A channel function.</p></ol>
247
248<h5>parameters</h5>
249<ol><p>one or more parameters.</p></ol>
cristy3749be42010-02-02 02:46:51 +0000250
251<h5>exception</h5>
252<ol><p>return any errors or warnings in this structure.</p></ol>
253
254 </div>
255<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
256_8c.html" target="source" name="GetImageChannelMean">GetImageChannelMean</a></h2>
257<div class="doc-section">
258
259<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p></ol>
260
261<p>The format of the GetImageChannelMean method is:</p>
262
263<pre class="code">
264 MagickBooleanType GetImageChannelMean(const Image *image,
265 const ChannelType channel,double *mean,double *standard_deviation,
266 ExceptionInfo *exception)
267</pre>
268
269<p>A description of each parameter follows:</p></ol>
270
271<h5>image</h5>
272<ol><p>the image.</p></ol>
273
274<h5>channel</h5>
275<ol><p>the channel.</p></ol>
276
277<h5>mean</h5>
278<ol><p>the average value in the channel.</p></ol>
279
280<h5>standard_deviation</h5>
281<ol><p>the standard deviation of the channel.</p></ol>
282
283<h5>exception</h5>
284<ol><p>return any errors or warnings in this structure.</p></ol>
285
286 </div>
287<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
288_8c.html" target="source" name="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
289<div class="doc-section">
290
291<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p></ol>
292
293<p>The format of the GetImageChannelKurtosis method is:</p>
294
295<pre class="code">
296 MagickBooleanType GetImageChannelKurtosis(const Image *image,
297 const ChannelType channel,double *kurtosis,double *skewness,
298 ExceptionInfo *exception)
299</pre>
300
301<p>A description of each parameter follows:</p></ol>
302
303<h5>image</h5>
304<ol><p>the image.</p></ol>
305
306<h5>channel</h5>
307<ol><p>the channel.</p></ol>
308
309<h5>kurtosis</h5>
310<ol><p>the kurtosis of the channel.</p></ol>
311
312<h5>skewness</h5>
313<ol><p>the skewness of the channel.</p></ol>
314
315<h5>exception</h5>
316<ol><p>return any errors or warnings in this structure.</p></ol>
317
318 </div>
319<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
320_8c.html" target="source" name="GetImageChannelRange">GetImageChannelRange</a></h2>
321<div class="doc-section">
322
323<p>GetImageChannelRange() returns the range of one or more image channels.</p></ol>
324
325<p>The format of the GetImageChannelRange method is:</p>
326
327<pre class="code">
328 MagickBooleanType GetImageChannelRange(const Image *image,
329 const ChannelType channel,double *minima,double *maxima,
330 ExceptionInfo *exception)
331</pre>
332
333<p>A description of each parameter follows:</p></ol>
334
335<h5>image</h5>
336<ol><p>the image.</p></ol>
337
338<h5>channel</h5>
339<ol><p>the channel.</p></ol>
340
341<h5>minima</h5>
342<ol><p>the minimum value in the channel.</p></ol>
343
344<h5>maxima</h5>
345<ol><p>the maximum value in the channel.</p></ol>
346
347<h5>exception</h5>
348<ol><p>return any errors or warnings in this structure.</p></ol>
349
350 </div>
351<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
352_8c.html" target="source" name="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
353<div class="doc-section">
354
355<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>
356
357<pre class="text">
358 channel_statistics=GetImageChannelStatistics(image,excepton);
359 red_mean=channel_statistics[RedChannel].mean;
360</pre>
361
362<p>Use MagickRelinquishMemory() to free the statistics buffer.</p></ol>
363
364<p>The format of the GetImageChannelStatistics method is:</p>
365
366<pre class="code">
367 ChannelStatistics *GetImageChannelStatistics(const Image *image,
368 ExceptionInfo *exception)
369</pre>
370
371<p>A description of each parameter follows:</p></ol>
372
373<h5>image</h5>
374<ol><p>the image.</p></ol>
375
376<h5>exception</h5>
377<ol><p>return any errors or warnings in this structure.</p></ol>
378
379 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000380
381</div>
382
383<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000384 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000385 <span id="linkbar-center">
386 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000387 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000388 </span>
389 <span id="linkbar-east">&nbsp;</span>
390 </div>
391 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000392 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000393 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
394 </div>
395 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000396 <script type="text/javascript">
397 var _gaq = _gaq || [];
398 _gaq.push(['_setAccount', 'UA-17690367-1']);
399 _gaq.push(['_trackPageview']);
400
401 (function() {
402 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
403 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
404 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
405 })();
406 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000407</body>
408</html>