blob: e49b2489538dbcec8b5d209f4e97d393996025eb [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>
31 <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">
142<div class="sponsor">
cristydcca3fa2010-12-29 21:50:07 +0000143 <a title="Sponsor: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011040100025 gabi.schulze-->
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>
cristy3749be42010-02-02 02:46:51 +0000154</div>
155</div>
cristyce69bb02010-07-27 19:49:46 +0000156</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000157
cristyce69bb02010-07-27 19:49:46 +0000158<div class="eastbar">
159 <script type="text/javascript">
160 <!--
161 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000162 google_ad_slot = "0574824969";
163 google_ad_width = 160;
164 google_ad_height = 600;
165 //-->
166 </script>
167 <script type="text/javascript"
168 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
169 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000170</div>
171
172<div class="main">
173
cristy307ba182010-12-25 01:00:34 +0000174<h1>Module statistic
175 Methods</h1>
cristy63fed272010-03-07 19:08:45 +0000176<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 +0000177
178<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
cristy63fed272010-03-07 19:08:45 +0000179_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
cristy3749be42010-02-02 02:46:51 +0000180<div class="doc-section">
181
cristy63fed272010-03-07 19:08:45 +0000182<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 +0000183
cristy63fed272010-03-07 19:08:45 +0000184<p>The format of the EvaluateImageChannel method is:</p>
cristy3749be42010-02-02 02:46:51 +0000185
186<pre class="code">
cristy63fed272010-03-07 19:08:45 +0000187 MagickBooleanType EvaluateImage(Image *image,
188 const MagickEvaluateOperator op,const double value,
189 ExceptionInfo *exception)
190 MagickBooleanType EvaluateImages(Image *images,
191 const MagickEvaluateOperator op,const double value,
192 ExceptionInfo *exception)
193 MagickBooleanType EvaluateImageChannel(Image *image,
194 const ChannelType channel,const MagickEvaluateOperator op,
195 const double value,ExceptionInfo *exception)
cristy3749be42010-02-02 02:46:51 +0000196</pre>
197
198<p>A description of each parameter follows:</p></ol>
199
200<h5>image</h5>
cristy63fed272010-03-07 19:08:45 +0000201<ol><p>the image.</p></ol>
202
203<h5>channel</h5>
204<ol><p>the channel.</p></ol>
205
206<h5>op</h5>
207<ol><p>A channel op.</p></ol>
208
209<h5>value</h5>
210<ol><p>A value value.</p></ol>
211
212<h5>exception</h5>
213<ol><p>return any errors or warnings in this structure.</p></ol>
214
215 </div>
216<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
217_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
218<div class="doc-section">
219
220<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>
221
222<p>The format of the FunctionImageChannel method is:</p>
223
224<pre class="code">
225 MagickBooleanType FunctionImage(Image *image,
cristybb503372010-05-27 20:51:26 +0000226 const MagickFunction function,const ssize_t number_parameters,
cristy63fed272010-03-07 19:08:45 +0000227 const double *parameters,ExceptionInfo *exception)
228 MagickBooleanType FunctionImageChannel(Image *image,
229 const ChannelType channel,const MagickFunction function,
cristybb503372010-05-27 20:51:26 +0000230 const ssize_t number_parameters,const double *argument,
cristy63fed272010-03-07 19:08:45 +0000231 ExceptionInfo *exception)
232</pre>
233
234<p>A description of each parameter follows:</p></ol>
235
236<h5>image</h5>
237<ol><p>the image.</p></ol>
238
239<h5>channel</h5>
240<ol><p>the channel.</p></ol>
241
242<h5>function</h5>
243<ol><p>A channel function.</p></ol>
244
245<h5>parameters</h5>
246<ol><p>one or more parameters.</p></ol>
cristy3749be42010-02-02 02:46:51 +0000247
248<h5>exception</h5>
249<ol><p>return any errors or warnings in this structure.</p></ol>
250
251 </div>
252<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
253_8c.html" target="source" name="GetImageChannelMean">GetImageChannelMean</a></h2>
254<div class="doc-section">
255
256<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p></ol>
257
258<p>The format of the GetImageChannelMean method is:</p>
259
260<pre class="code">
261 MagickBooleanType GetImageChannelMean(const Image *image,
262 const ChannelType channel,double *mean,double *standard_deviation,
263 ExceptionInfo *exception)
264</pre>
265
266<p>A description of each parameter follows:</p></ol>
267
268<h5>image</h5>
269<ol><p>the image.</p></ol>
270
271<h5>channel</h5>
272<ol><p>the channel.</p></ol>
273
274<h5>mean</h5>
275<ol><p>the average value in the channel.</p></ol>
276
277<h5>standard_deviation</h5>
278<ol><p>the standard deviation of the channel.</p></ol>
279
280<h5>exception</h5>
281<ol><p>return any errors or warnings in this structure.</p></ol>
282
283 </div>
284<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
285_8c.html" target="source" name="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
286<div class="doc-section">
287
288<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p></ol>
289
290<p>The format of the GetImageChannelKurtosis method is:</p>
291
292<pre class="code">
293 MagickBooleanType GetImageChannelKurtosis(const Image *image,
294 const ChannelType channel,double *kurtosis,double *skewness,
295 ExceptionInfo *exception)
296</pre>
297
298<p>A description of each parameter follows:</p></ol>
299
300<h5>image</h5>
301<ol><p>the image.</p></ol>
302
303<h5>channel</h5>
304<ol><p>the channel.</p></ol>
305
306<h5>kurtosis</h5>
307<ol><p>the kurtosis of the channel.</p></ol>
308
309<h5>skewness</h5>
310<ol><p>the skewness of the channel.</p></ol>
311
312<h5>exception</h5>
313<ol><p>return any errors or warnings in this structure.</p></ol>
314
315 </div>
316<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
317_8c.html" target="source" name="GetImageChannelRange">GetImageChannelRange</a></h2>
318<div class="doc-section">
319
320<p>GetImageChannelRange() returns the range of one or more image channels.</p></ol>
321
322<p>The format of the GetImageChannelRange method is:</p>
323
324<pre class="code">
325 MagickBooleanType GetImageChannelRange(const Image *image,
326 const ChannelType channel,double *minima,double *maxima,
327 ExceptionInfo *exception)
328</pre>
329
330<p>A description of each parameter follows:</p></ol>
331
332<h5>image</h5>
333<ol><p>the image.</p></ol>
334
335<h5>channel</h5>
336<ol><p>the channel.</p></ol>
337
338<h5>minima</h5>
339<ol><p>the minimum value in the channel.</p></ol>
340
341<h5>maxima</h5>
342<ol><p>the maximum value in the channel.</p></ol>
343
344<h5>exception</h5>
345<ol><p>return any errors or warnings in this structure.</p></ol>
346
347 </div>
348<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
349_8c.html" target="source" name="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
350<div class="doc-section">
351
352<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>
353
354<pre class="text">
355 channel_statistics=GetImageChannelStatistics(image,excepton);
356 red_mean=channel_statistics[RedChannel].mean;
357</pre>
358
359<p>Use MagickRelinquishMemory() to free the statistics buffer.</p></ol>
360
361<p>The format of the GetImageChannelStatistics method is:</p>
362
363<pre class="code">
364 ChannelStatistics *GetImageChannelStatistics(const Image *image,
365 ExceptionInfo *exception)
366</pre>
367
368<p>A description of each parameter follows:</p></ol>
369
370<h5>image</h5>
371<ol><p>the image.</p></ol>
372
373<h5>exception</h5>
374<ol><p>return any errors or warnings in this structure.</p></ol>
375
376 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000377
378</div>
379
380<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000381 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000382 <span id="linkbar-center">
383 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000384 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000385 </span>
386 <span id="linkbar-east">&nbsp;</span>
387 </div>
388 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000389 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000390 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
391 </div>
392 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000393 <script type="text/javascript">
394 var _gaq = _gaq || [];
395 _gaq.push(['_setAccount', 'UA-17690367-1']);
396 _gaq.push(['_trackPageview']);
397
398 (function() {
399 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
400 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
401 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
402 })();
403 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000404</body>
405</html>