blob: 8d473398a08a453af2e195e20e1494198df31367 [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">
cristy2bd2a982011-02-15 00:52:58 +00003<html version="-//W3C//DTD XHTML 1.1//EN"
4 xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xsi:schemaLocation="http://www.w3.org/1999/xhtml
7 http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
cristy3eaa0ef2010-03-06 20:35:26 +00008<head>
cristy3c98a4f2010-08-13 20:09:41 +00009 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
10 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +000011 <title>ImageMagick: MagickCore, C API for ImageMagick: Image Statistics</title>
cristy3749be42010-02-02 02:46:51 +000012 <meta http-equiv="Content-Language" content="en-US"/>
13 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000015 <meta name="Application-name" content="ImageMagick"/>
cristyaf8d6652011-02-04 21:57:45 +000016 <meta name="Description" content="Use ImageMagick to convert, edit, or compose bitmap images in a variety of formats. In addition resize, rotate, shear, distort and transform images."/>
cristy3c98a4f2010-08-13 20:09:41 +000017 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3749be42010-02-02 02:46:51 +000018 <meta name="Generator" content="PHP"/>
19 <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 +000020 <meta name="Rating" content="GENERAL"/>
21 <meta name="Robots" content="INDEX, FOLLOW"/>
22 <meta name="Generator" content="ImageMagick Studio LLC"/>
23 <meta name="Author" content="ImageMagick Studio LLC"/>
24 <meta name="Revisit-after" content="2 DAYS"/>
25 <meta name="Resource-type" content="document"/>
cristy4103d562010-12-10 01:38:54 +000026 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy3749be42010-02-02 02:46:51 +000027 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000028 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000029 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
30 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
cristy7a40ba82011-01-08 20:31:18 +000031 <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
cristy3c98a4f2010-08-13 20:09:41 +000032 <style type="text/css" media="all">
33 @import url("../../www/magick.css");
34 </style>
cristydcca3fa2010-12-29 21:50:07 +000035 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000036 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
37 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
38 <script type="text/javascript">
39 $(document).ready(function() {
40 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
41 'transitionIn' : 'elastic',
42 'transitionOut' : 'elastic',
43 'overlayShow' : false,
44 'opacity' : true
45 });
46 });
47 </script>
cristy3eaa0ef2010-03-06 20:35:26 +000048</head>
49
50<body id="www-imagemagick-org">
51<div class="titlebar">
52<a href="../../index.html">
53 <img src="../../images/script.png" alt="[ImageMagick]"
54 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
55<a href="http://www.networkredux.com">
56 <img src="../../images/networkredux.png" alt="[sponsor]"
cristy52923442011-01-15 22:54:31 +000057 style="margin-top: 42px; border: 0px; float: left;" /></a>
cristy3eaa0ef2010-03-06 20:35:26 +000058<a href="http://www.imagemagick.org/discourse-server/">
cristyaf8d6652011-02-04 21:57:45 +000059 <img src="../../images/logo.jpg"
60 alt="ImageMagick Logo"
cristy178edaf2011-01-23 03:42:39 +000061 style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
cristy3eaa0ef2010-03-06 20:35:26 +000062<a href="../../index.html">
cristyaf8d6652011-02-04 21:57:45 +000063 <img src="../../images/sprite.jpg"
64 alt="ImageMagick Sprite"
cristy3eaa0ef2010-03-06 20:35:26 +000065 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
66</div>
67
cristyce69bb02010-07-27 19:49:46 +000068<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000069
cristy3749be42010-02-02 02:46:51 +000070<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000071 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3749be42010-02-02 02:46:51 +000072</div>
cristy3eaa0ef2010-03-06 20:35:26 +000073<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +000074<div class="menu">
cristybb503372010-05-27 20:51:26 +000075 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
76</div>
77<div class="sub">
78 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
79</div>
80<div class="sub">
81 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
82</div>
83<div class="sub">
84 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
85</div>
86<div class="sep"></div>
87<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000088 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3749be42010-02-02 02:46:51 +000089</div>
90<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000091 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3749be42010-02-02 02:46:51 +000092</div>
93<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000094 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3749be42010-02-02 02:46:51 +000095</div>
96<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000097 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3749be42010-02-02 02:46:51 +000098</div>
99<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000100 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3749be42010-02-02 02:46:51 +0000101</div>
102<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000103 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3749be42010-02-02 02:46:51 +0000104</div>
105<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000106 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3749be42010-02-02 02:46:51 +0000107</div>
108<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000109 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3749be42010-02-02 02:46:51 +0000110</div>
111<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000112 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</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="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3749be42010-02-02 02:46:51 +0000117</div>
118<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3749be42010-02-02 02:46:51 +0000120</div>
121<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000122 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3749be42010-02-02 02:46:51 +0000123 </div>
124<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000125 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3749be42010-02-02 02:46:51 +0000126</div>
cristybb503372010-05-27 20:51:26 +0000127<div class="menu">
128 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
129</div>
cristy3749be42010-02-02 02:46:51 +0000130<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000131 <a title="Download" href="../../www/download.html">Download</a>
cristy3749be42010-02-02 02:46:51 +0000132</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000133<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000134<div class="menu">
cristy52923442011-01-15 22:54:31 +0000135 <a title="Search" href="../../www/search.html">Search</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">
cristyffb69ed2010-12-25 00:06:48 +0000139 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3749be42010-02-02 02:46:51 +0000140</div>
141<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000142 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3749be42010-02-02 02:46:51 +0000143</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000144<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000145<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000146 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3749be42010-02-02 02:46:51 +0000147
148<div class="sponsbox">
cristy178edaf2011-01-23 03:42:39 +0000149<div class="sponsor">
cristyaf8d6652011-02-04 21:57:45 +0000150 <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
151</div>
152<div class="sponsor">
153 <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
154</div>
155<div class="sponsor">
cristy2bd2a982011-02-15 00:52:58 +0000156 <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201107010240 r.leo -->
cristy178edaf2011-01-23 03:42:39 +0000157</div>
cristyec6b4752011-01-08 03:16:23 +0000158<div class="sponsor">
cristy52923442011-01-15 22:54:31 +0000159 <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.shtml">Web Hosting</a><!-- 201104010090 -->
cristy7d52cd62010-10-01 17:26:59 +0000160</div>
161<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000162 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
163</div>
164<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000165 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
166</div>
cristyec6b4752011-01-08 03:16:23 +0000167<div class="sponsor">
cristy178edaf2011-01-23 03:42:39 +0000168 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
169</div>
170<div class="sponsor">
cristy6f77f692011-02-15 15:31:39 +0000171 <a title="Sponsor: Custom T-Shirts" href="http://www.ooshirts.com">Custom T-Shirts</a><!-- 2011050100030 ooshirts.com-->
cristyec6b4752011-01-08 03:16:23 +0000172</div>
cristy3749be42010-02-02 02:46:51 +0000173</div>
174</div>
cristyce69bb02010-07-27 19:49:46 +0000175</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000176
cristyce69bb02010-07-27 19:49:46 +0000177<div class="eastbar">
178 <script type="text/javascript">
179 <!--
180 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000181 google_ad_slot = "0574824969";
182 google_ad_width = 160;
183 google_ad_height = 600;
184 //-->
185 </script>
186 <script type="text/javascript"
187 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
188 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000189</div>
190
191<div class="main">
192
cristy6f77f692011-02-15 15:31:39 +0000193<h1>Module statistic
194 Methods</h1>
195<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 +0000196
cristy6f77f692011-02-15 15:31:39 +0000197<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
198_8c.html" id="EvaluateImage">EvaluateImage</a></h2>
199<div class="doc-section">
200
201<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>
202
203<p>The format of the EvaluateImageChannel method is:</p>
204
205<pre class="code">
206 MagickBooleanType EvaluateImage(Image *image,
207 const MagickEvaluateOperator op,const double value,
208 ExceptionInfo *exception)
209 MagickBooleanType EvaluateImages(Image *images,
210 const MagickEvaluateOperator op,const double value,
211 ExceptionInfo *exception)
212 MagickBooleanType EvaluateImageChannel(Image *image,
213 const ChannelType channel,const MagickEvaluateOperator op,
214 const double value,ExceptionInfo *exception)
215</pre>
216
217<p>A description of each parameter follows:</p>
218
219<h5>image</h5>
220<p>the image.</p>
221
222<h5>channel</h5>
223<p>the channel.</p>
224
225<h5>op</h5>
226<p>A channel op.</p>
227
228<h5>value</h5>
229<p>A value value.</p>
230
231<h5>exception</h5>
232<p>return any errors or warnings in this structure.</p>
233
234 </div>
235<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
236_8c.html" id="FunctionImage">FunctionImage</a></h2>
237<div class="doc-section">
238
239<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>
240
241<p>The format of the FunctionImageChannel method is:</p>
242
243<pre class="code">
244 MagickBooleanType FunctionImage(Image *image,
245 const MagickFunction function,const ssize_t number_parameters,
246 const double *parameters,ExceptionInfo *exception)
247 MagickBooleanType FunctionImageChannel(Image *image,
248 const ChannelType channel,const MagickFunction function,
249 const ssize_t number_parameters,const double *argument,
250 ExceptionInfo *exception)
251</pre>
252
253<p>A description of each parameter follows:</p>
254
255<h5>image</h5>
256<p>the image.</p>
257
258<h5>channel</h5>
259<p>the channel.</p>
260
261<h5>function</h5>
262<p>A channel function.</p>
263
264<h5>parameters</h5>
265<p>one or more parameters.</p>
266
267<h5>exception</h5>
268<p>return any errors or warnings in this structure.</p>
269
270 </div>
271<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
272_8c.html" id="GetImageChannelMean">GetImageChannelMean</a></h2>
273<div class="doc-section">
274
275<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p>
276
277<p>The format of the GetImageChannelMean method is:</p>
278
279<pre class="code">
280 MagickBooleanType GetImageChannelMean(const Image *image,
281 const ChannelType channel,double *mean,double *standard_deviation,
282 ExceptionInfo *exception)
283</pre>
284
285<p>A description of each parameter follows:</p>
286
287<h5>image</h5>
288<p>the image.</p>
289
290<h5>channel</h5>
291<p>the channel.</p>
292
293<h5>mean</h5>
294<p>the average value in the channel.</p>
295
296<h5>standard_deviation</h5>
297<p>the standard deviation of the channel.</p>
298
299<h5>exception</h5>
300<p>return any errors or warnings in this structure.</p>
301
302 </div>
303<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
304_8c.html" id="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
305<div class="doc-section">
306
307<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p>
308
309<p>The format of the GetImageChannelKurtosis method is:</p>
310
311<pre class="code">
312 MagickBooleanType GetImageChannelKurtosis(const Image *image,
313 const ChannelType channel,double *kurtosis,double *skewness,
314 ExceptionInfo *exception)
315</pre>
316
317<p>A description of each parameter follows:</p>
318
319<h5>image</h5>
320<p>the image.</p>
321
322<h5>channel</h5>
323<p>the channel.</p>
324
325<h5>kurtosis</h5>
326<p>the kurtosis of the channel.</p>
327
328<h5>skewness</h5>
329<p>the skewness of the channel.</p>
330
331<h5>exception</h5>
332<p>return any errors or warnings in this structure.</p>
333
334 </div>
335<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
336_8c.html" id="GetImageChannelRange">GetImageChannelRange</a></h2>
337<div class="doc-section">
338
339<p>GetImageChannelRange() returns the range of one or more image channels.</p>
340
341<p>The format of the GetImageChannelRange method is:</p>
342
343<pre class="code">
344 MagickBooleanType GetImageChannelRange(const Image *image,
345 const ChannelType channel,double *minima,double *maxima,
346 ExceptionInfo *exception)
347</pre>
348
349<p>A description of each parameter follows:</p>
350
351<h5>image</h5>
352<p>the image.</p>
353
354<h5>channel</h5>
355<p>the channel.</p>
356
357<h5>minima</h5>
358<p>the minimum value in the channel.</p>
359
360<h5>maxima</h5>
361<p>the maximum value in the channel.</p>
362
363<h5>exception</h5>
364<p>return any errors or warnings in this structure.</p>
365
366 </div>
367<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
368_8c.html" id="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
369<div class="doc-section">
370
371<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>
372
373<pre class="text">
374 channel_statistics=GetImageChannelStatistics(image,exception);
375 red_mean=channel_statistics[RedChannel].mean;
376</pre>
377
378<p>Use MagickRelinquishMemory() to free the statistics buffer.</p>
379
380<p>The format of the GetImageChannelStatistics method is:</p>
381
382<pre class="code">
383 ChannelStatistics *GetImageChannelStatistics(const Image *image,
384 ExceptionInfo *exception)
385</pre>
386
387<p>A description of each parameter follows:</p>
388
389<h5>image</h5>
390<p>the image.</p>
391
392<h5>exception</h5>
393<p>return any errors or warnings in this structure.</p>
394
395 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000396
397</div>
398
399<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000400 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000401 <span id="linkbar-center">
402 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000403 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000404 </span>
405 <span id="linkbar-east">&nbsp;</span>
406 </div>
407 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000408 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000409 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
410 </div>
411 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000412 <script type="text/javascript">
413 var _gaq = _gaq || [];
414 _gaq.push(['_setAccount', 'UA-17690367-1']);
415 _gaq.push(['_trackPageview']);
416
417 (function() {
418 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
419 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
420 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
421 })();
422 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000423</body>
424</html>