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