blob: 22659ca12d277b7fd25c989851896a4fe89213ea [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">
cristy851dbce2010-08-06 21:40:00 +0000127 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
128</div>
129<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy320dd6e2010-04-16 20:11:40 +0000131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristy8f900122010-03-05 15:26:31 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy3749be42010-02-02 02:46:51 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy3749be42010-02-02 02:46:51 +0000140</div>
141<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000142 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3749be42010-02-02 02:46:51 +0000143</div>
cristyd6dfc0d2010-06-27 19:30:49 +0000144<div class="sponsor">
cristyae6203d2010-08-09 01:12:14 +0000145 <a title="Sponsor: Free Catalogs" href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 20120801000600 -->
cristyd6dfc0d2010-06-27 19:30:49 +0000146</div>
cristy3749be42010-02-02 02:46:51 +0000147</div>
148</div>
cristyce69bb02010-07-27 19:49:46 +0000149</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000150
cristyce69bb02010-07-27 19:49:46 +0000151<div class="eastbar">
152 <script type="text/javascript">
153 <!--
154 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000155 google_ad_slot = "0574824969";
156 google_ad_width = 160;
157 google_ad_height = 600;
158 //-->
159 </script>
160 <script type="text/javascript"
161 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
162 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000163</div>
164
165<div class="main">
166
cristy63fed272010-03-07 19:08:45 +0000167<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 +0000168
169<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
cristy63fed272010-03-07 19:08:45 +0000170_8c.html" target="source" name="EvaluateImage">EvaluateImage</a></h2>
cristy3749be42010-02-02 02:46:51 +0000171<div class="doc-section">
172
cristy63fed272010-03-07 19:08:45 +0000173<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 +0000174
cristy63fed272010-03-07 19:08:45 +0000175<p>The format of the EvaluateImageChannel method is:</p>
cristy3749be42010-02-02 02:46:51 +0000176
177<pre class="code">
cristy63fed272010-03-07 19:08:45 +0000178 MagickBooleanType EvaluateImage(Image *image,
179 const MagickEvaluateOperator op,const double value,
180 ExceptionInfo *exception)
181 MagickBooleanType EvaluateImages(Image *images,
182 const MagickEvaluateOperator op,const double value,
183 ExceptionInfo *exception)
184 MagickBooleanType EvaluateImageChannel(Image *image,
185 const ChannelType channel,const MagickEvaluateOperator op,
186 const double value,ExceptionInfo *exception)
cristy3749be42010-02-02 02:46:51 +0000187</pre>
188
189<p>A description of each parameter follows:</p></ol>
190
191<h5>image</h5>
cristy63fed272010-03-07 19:08:45 +0000192<ol><p>the image.</p></ol>
193
194<h5>channel</h5>
195<ol><p>the channel.</p></ol>
196
197<h5>op</h5>
198<ol><p>A channel op.</p></ol>
199
200<h5>value</h5>
201<ol><p>A value value.</p></ol>
202
203<h5>exception</h5>
204<ol><p>return any errors or warnings in this structure.</p></ol>
205
206 </div>
207<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
208_8c.html" target="source" name="FunctionImage">FunctionImage</a></h2>
209<div class="doc-section">
210
211<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>
212
213<p>The format of the FunctionImageChannel method is:</p>
214
215<pre class="code">
216 MagickBooleanType FunctionImage(Image *image,
cristybb503372010-05-27 20:51:26 +0000217 const MagickFunction function,const ssize_t number_parameters,
cristy63fed272010-03-07 19:08:45 +0000218 const double *parameters,ExceptionInfo *exception)
219 MagickBooleanType FunctionImageChannel(Image *image,
220 const ChannelType channel,const MagickFunction function,
cristybb503372010-05-27 20:51:26 +0000221 const ssize_t number_parameters,const double *argument,
cristy63fed272010-03-07 19:08:45 +0000222 ExceptionInfo *exception)
223</pre>
224
225<p>A description of each parameter follows:</p></ol>
226
227<h5>image</h5>
228<ol><p>the image.</p></ol>
229
230<h5>channel</h5>
231<ol><p>the channel.</p></ol>
232
233<h5>function</h5>
234<ol><p>A channel function.</p></ol>
235
236<h5>parameters</h5>
237<ol><p>one or more parameters.</p></ol>
cristy3749be42010-02-02 02:46:51 +0000238
239<h5>exception</h5>
240<ol><p>return any errors or warnings in this structure.</p></ol>
241
242 </div>
243<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
244_8c.html" target="source" name="GetImageChannelMean">GetImageChannelMean</a></h2>
245<div class="doc-section">
246
247<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p></ol>
248
249<p>The format of the GetImageChannelMean method is:</p>
250
251<pre class="code">
252 MagickBooleanType GetImageChannelMean(const Image *image,
253 const ChannelType channel,double *mean,double *standard_deviation,
254 ExceptionInfo *exception)
255</pre>
256
257<p>A description of each parameter follows:</p></ol>
258
259<h5>image</h5>
260<ol><p>the image.</p></ol>
261
262<h5>channel</h5>
263<ol><p>the channel.</p></ol>
264
265<h5>mean</h5>
266<ol><p>the average value in the channel.</p></ol>
267
268<h5>standard_deviation</h5>
269<ol><p>the standard deviation of the channel.</p></ol>
270
271<h5>exception</h5>
272<ol><p>return any errors or warnings in this structure.</p></ol>
273
274 </div>
275<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
276_8c.html" target="source" name="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
277<div class="doc-section">
278
279<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p></ol>
280
281<p>The format of the GetImageChannelKurtosis method is:</p>
282
283<pre class="code">
284 MagickBooleanType GetImageChannelKurtosis(const Image *image,
285 const ChannelType channel,double *kurtosis,double *skewness,
286 ExceptionInfo *exception)
287</pre>
288
289<p>A description of each parameter follows:</p></ol>
290
291<h5>image</h5>
292<ol><p>the image.</p></ol>
293
294<h5>channel</h5>
295<ol><p>the channel.</p></ol>
296
297<h5>kurtosis</h5>
298<ol><p>the kurtosis of the channel.</p></ol>
299
300<h5>skewness</h5>
301<ol><p>the skewness of the channel.</p></ol>
302
303<h5>exception</h5>
304<ol><p>return any errors or warnings in this structure.</p></ol>
305
306 </div>
307<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
308_8c.html" target="source" name="GetImageChannelRange">GetImageChannelRange</a></h2>
309<div class="doc-section">
310
311<p>GetImageChannelRange() returns the range of one or more image channels.</p></ol>
312
313<p>The format of the GetImageChannelRange method is:</p>
314
315<pre class="code">
316 MagickBooleanType GetImageChannelRange(const Image *image,
317 const ChannelType channel,double *minima,double *maxima,
318 ExceptionInfo *exception)
319</pre>
320
321<p>A description of each parameter follows:</p></ol>
322
323<h5>image</h5>
324<ol><p>the image.</p></ol>
325
326<h5>channel</h5>
327<ol><p>the channel.</p></ol>
328
329<h5>minima</h5>
330<ol><p>the minimum value in the channel.</p></ol>
331
332<h5>maxima</h5>
333<ol><p>the maximum value in the channel.</p></ol>
334
335<h5>exception</h5>
336<ol><p>return any errors or warnings in this structure.</p></ol>
337
338 </div>
339<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic
340_8c.html" target="source" name="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
341<div class="doc-section">
342
343<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>
344
345<pre class="text">
346 channel_statistics=GetImageChannelStatistics(image,excepton);
347 red_mean=channel_statistics[RedChannel].mean;
348</pre>
349
350<p>Use MagickRelinquishMemory() to free the statistics buffer.</p></ol>
351
352<p>The format of the GetImageChannelStatistics method is:</p>
353
354<pre class="code">
355 ChannelStatistics *GetImageChannelStatistics(const Image *image,
356 ExceptionInfo *exception)
357</pre>
358
359<p>A description of each parameter follows:</p></ol>
360
361<h5>image</h5>
362<ol><p>the image.</p></ol>
363
364<h5>exception</h5>
365<ol><p>return any errors or warnings in this structure.</p></ol>
366
367 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000368
369</div>
370
371<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000372 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000373 <span id="linkbar-center">
374 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000375 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000376 </span>
377 <span id="linkbar-east">&nbsp;</span>
378 </div>
379 <div class="footer">
380 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
381 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
382 </div>
383 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000384 <script type="text/javascript">
385 var _gaq = _gaq || [];
386 _gaq.push(['_setAccount', 'UA-17690367-1']);
387 _gaq.push(['_trackPageview']);
388
389 (function() {
390 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
391 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
392 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
393 })();
394 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000395</body>
396</html>