blob: 2a4f857f9820defcd6535d03786ae7d0f9c6d4ea [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>
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="/>
7 <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"/>
12 <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."/>
13 <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"/>
22 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
23 <meta name="Distribution" content="Global"/>
cristy3c98a4f2010-08-13 20:09:41 +000024 <link rel="icon" href="../../images/wand.png" sizes="32x32"/>
25 <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>
cristy3eaa0ef2010-03-06 20:35:26 +000030</head>
31
32<body id="www-imagemagick-org">
33<div class="titlebar">
34<a href="../../index.html">
35 <img src="../../images/script.png" alt="[ImageMagick]"
36 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
37<a href="http://www.networkredux.com">
38 <img src="../../images/networkredux.png" alt="[sponsor]"
39 style="margin: 45px auto; border: 0px; float: left;" /></a>
40<a href="http://www.imagemagick.org/discourse-server/">
41 <img src="../../images/logo.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43<a href="../../index.html">
44 <img src="../../images/sprite.jpg" alt=""
45 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
46</div>
47
cristyce69bb02010-07-27 19:49:46 +000048<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000049
cristy3749be42010-02-02 02:46:51 +000050<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000051 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3749be42010-02-02 02:46:51 +000052</div>
cristy3eaa0ef2010-03-06 20:35:26 +000053<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +000054<div class="menu">
cristybb503372010-05-27 20:51:26 +000055 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
62</div>
63<div class="sub">
64 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
65</div>
66<div class="sep"></div>
67<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000068 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</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: Processing" href="../../www/command-line-processing.html">Processing</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: Options" href="../../www/command-line-options.html">Options</a>
cristy3749be42010-02-02 02:46:51 +000075</div>
76<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000077 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3749be42010-02-02 02:46:51 +000078</div>
79<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000080 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3749be42010-02-02 02:46:51 +000081</div>
82<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3749be42010-02-02 02:46:51 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3749be42010-02-02 02:46:51 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3749be42010-02-02 02:46:51 +000090</div>
91<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000092 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3749be42010-02-02 02:46:51 +000093</div>
cristy3eaa0ef2010-03-06 20:35:26 +000094<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +000095<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Install from Source" href="../../www/install-source.html">Install from Source</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: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3749be42010-02-02 02:46:51 +0000100</div>
101<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3749be42010-02-02 02:46:51 +0000103 </div>
104<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000105 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3749be42010-02-02 02:46:51 +0000106</div>
cristybb503372010-05-27 20:51:26 +0000107<div class="menu">
108 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
109</div>
cristy3749be42010-02-02 02:46:51 +0000110<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000111 <a title="Download" href="../../www/download.html">Download</a>
cristy3749be42010-02-02 02:46:51 +0000112</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000113<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000114<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000115 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3749be42010-02-02 02:46:51 +0000116</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000117<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000118<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
cristy3749be42010-02-02 02:46:51 +0000120</div>
121<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000122 <a title="Site Map: Links"href="../../www/links.html">Links</a>
cristy3749be42010-02-02 02:46:51 +0000123</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000124<div class="sep"></div>
cristy3749be42010-02-02 02:46:51 +0000125<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000126 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3749be42010-02-02 02:46:51 +0000127
128<div class="sponsbox">
129<div class="sponsor">
cristy7d52cd62010-10-01 17:26:59 +0000130 <a title="Sponsor: Online-Magazin" href="http://www.unkostenbeitrag.de/">Online-Magazin</a><!-- 20101101000200 -->
131</div>
132<div class="sponsor">
133 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000134</div>
135<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000136 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
137</div>
138<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000139 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
140</div>
141<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000142 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy320dd6e2010-04-16 20:11:40 +0000143</div>
144<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000145 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristy8f900122010-03-05 15:26:31 +0000146</div>
147<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000148 <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
cristy3749be42010-02-02 02:46:51 +0000149</div>
150<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000151 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3749be42010-02-02 02:46:51 +0000152</div>
cristy3749be42010-02-02 02:46:51 +0000153</div>
154</div>
cristyce69bb02010-07-27 19:49:46 +0000155</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000156
cristyce69bb02010-07-27 19:49:46 +0000157<div class="eastbar">
158 <script type="text/javascript">
159 <!--
160 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000161 google_ad_slot = "0574824969";
162 google_ad_width = 160;
163 google_ad_height = 600;
164 //-->
165 </script>
166 <script type="text/javascript"
167 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
168 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000169</div>
170
171<div class="main">
172
cristy63fed272010-03-07 19:08:45 +0000173<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 +0000174
175<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
cristy63fed272010-03-07 19:08:45 +0000176_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
cristy3749be42010-02-02 02:46:51 +0000177<div class="doc-section">
178
cristy63fed272010-03-07 19:08:45 +0000179<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 +0000180
cristy63fed272010-03-07 19:08:45 +0000181<p>The format of the EvaluateImageChannel method is:</p>
cristy3749be42010-02-02 02:46:51 +0000182
183<pre class="code">
cristy63fed272010-03-07 19:08:45 +0000184 MagickBooleanType EvaluateImage(Image *image,
185 const MagickEvaluateOperator op,const double value,
186 ExceptionInfo *exception)
187 MagickBooleanType EvaluateImages(Image *images,
188 const MagickEvaluateOperator op,const double value,
189 ExceptionInfo *exception)
190 MagickBooleanType EvaluateImageChannel(Image *image,
191 const ChannelType channel,const MagickEvaluateOperator op,
192 const double value,ExceptionInfo *exception)
cristy3749be42010-02-02 02:46:51 +0000193</pre>
194
195<p>A description of each parameter follows:</p></ol>
196
197<h5>image</h5>
cristy63fed272010-03-07 19:08:45 +0000198<ol><p>the image.</p></ol>
199
200<h5>channel</h5>
201<ol><p>the channel.</p></ol>
202
203<h5>op</h5>
204<ol><p>A channel op.</p></ol>
205
206<h5>value</h5>
207<ol><p>A value value.</p></ol>
208
209<h5>exception</h5>
210<ol><p>return any errors or warnings in this structure.</p></ol>
211
212 </div>
213<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
214_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
215<div class="doc-section">
216
217<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>
218
219<p>The format of the FunctionImageChannel method is:</p>
220
221<pre class="code">
222 MagickBooleanType FunctionImage(Image *image,
cristybb503372010-05-27 20:51:26 +0000223 const MagickFunction function,const ssize_t number_parameters,
cristy63fed272010-03-07 19:08:45 +0000224 const double *parameters,ExceptionInfo *exception)
225 MagickBooleanType FunctionImageChannel(Image *image,
226 const ChannelType channel,const MagickFunction function,
cristybb503372010-05-27 20:51:26 +0000227 const ssize_t number_parameters,const double *argument,
cristy63fed272010-03-07 19:08:45 +0000228 ExceptionInfo *exception)
229</pre>
230
231<p>A description of each parameter follows:</p></ol>
232
233<h5>image</h5>
234<ol><p>the image.</p></ol>
235
236<h5>channel</h5>
237<ol><p>the channel.</p></ol>
238
239<h5>function</h5>
240<ol><p>A channel function.</p></ol>
241
242<h5>parameters</h5>
243<ol><p>one or more parameters.</p></ol>
cristy3749be42010-02-02 02:46:51 +0000244
245<h5>exception</h5>
246<ol><p>return any errors or warnings in this structure.</p></ol>
247
248 </div>
249<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
250_8c.html" target="source" name="GetImageChannelMean">GetImageChannelMean</a></h2>
251<div class="doc-section">
252
253<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p></ol>
254
255<p>The format of the GetImageChannelMean method is:</p>
256
257<pre class="code">
258 MagickBooleanType GetImageChannelMean(const Image *image,
259 const ChannelType channel,double *mean,double *standard_deviation,
260 ExceptionInfo *exception)
261</pre>
262
263<p>A description of each parameter follows:</p></ol>
264
265<h5>image</h5>
266<ol><p>the image.</p></ol>
267
268<h5>channel</h5>
269<ol><p>the channel.</p></ol>
270
271<h5>mean</h5>
272<ol><p>the average value in the channel.</p></ol>
273
274<h5>standard_deviation</h5>
275<ol><p>the standard deviation of the channel.</p></ol>
276
277<h5>exception</h5>
278<ol><p>return any errors or warnings in this structure.</p></ol>
279
280 </div>
281<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
282_8c.html" target="source" name="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
283<div class="doc-section">
284
285<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p></ol>
286
287<p>The format of the GetImageChannelKurtosis method is:</p>
288
289<pre class="code">
290 MagickBooleanType GetImageChannelKurtosis(const Image *image,
291 const ChannelType channel,double *kurtosis,double *skewness,
292 ExceptionInfo *exception)
293</pre>
294
295<p>A description of each parameter follows:</p></ol>
296
297<h5>image</h5>
298<ol><p>the image.</p></ol>
299
300<h5>channel</h5>
301<ol><p>the channel.</p></ol>
302
303<h5>kurtosis</h5>
304<ol><p>the kurtosis of the channel.</p></ol>
305
306<h5>skewness</h5>
307<ol><p>the skewness of the channel.</p></ol>
308
309<h5>exception</h5>
310<ol><p>return any errors or warnings in this structure.</p></ol>
311
312 </div>
313<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
314_8c.html" target="source" name="GetImageChannelRange">GetImageChannelRange</a></h2>
315<div class="doc-section">
316
317<p>GetImageChannelRange() returns the range of one or more image channels.</p></ol>
318
319<p>The format of the GetImageChannelRange method is:</p>
320
321<pre class="code">
322 MagickBooleanType GetImageChannelRange(const Image *image,
323 const ChannelType channel,double *minima,double *maxima,
324 ExceptionInfo *exception)
325</pre>
326
327<p>A description of each parameter follows:</p></ol>
328
329<h5>image</h5>
330<ol><p>the image.</p></ol>
331
332<h5>channel</h5>
333<ol><p>the channel.</p></ol>
334
335<h5>minima</h5>
336<ol><p>the minimum value in the channel.</p></ol>
337
338<h5>maxima</h5>
339<ol><p>the maximum value in the channel.</p></ol>
340
341<h5>exception</h5>
342<ol><p>return any errors or warnings in this structure.</p></ol>
343
344 </div>
345<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
346_8c.html" target="source" name="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
347<div class="doc-section">
348
349<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>
350
351<pre class="text">
352 channel_statistics=GetImageChannelStatistics(image,excepton);
353 red_mean=channel_statistics[RedChannel].mean;
354</pre>
355
356<p>Use MagickRelinquishMemory() to free the statistics buffer.</p></ol>
357
358<p>The format of the GetImageChannelStatistics method is:</p>
359
360<pre class="code">
361 ChannelStatistics *GetImageChannelStatistics(const Image *image,
362 ExceptionInfo *exception)
363</pre>
364
365<p>A description of each parameter follows:</p></ol>
366
367<h5>image</h5>
368<ol><p>the image.</p></ol>
369
370<h5>exception</h5>
371<ol><p>return any errors or warnings in this structure.</p></ol>
372
373 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000374
375</div>
376
377<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000378 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000379 <span id="linkbar-center">
380 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000381 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000382 </span>
383 <span id="linkbar-east">&nbsp;</span>
384 </div>
385 <div class="footer">
386 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
387 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
388 </div>
389 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000390 <script type="text/javascript">
391 var _gaq = _gaq || [];
392 _gaq.push(['_setAccount', 'UA-17690367-1']);
393 _gaq.push(['_trackPageview']);
394
395 (function() {
396 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
397 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
398 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
399 })();
400 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000401</body>
402</html>