blob: 3a6b4f1d7a6e92b51b745272b0608094e4cc2b77 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html version="-//W3C//DTD XHTML 1.1//EN"
xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="google-site-verification" content="MxsMq6bdLOx0KSuz1MY6yG9ZTIJ7_7DVRfl5NCAT5Yg"/>
<title>ImageMagick: MagickCore, C API for ImageMagick: Image Statistics</title>
<meta http-equiv="Content-Language" content="en-US"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
<meta name="Application-name" content="ImageMagick"/>
<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 automagically."/>
<meta name="Application-url" content="http://www.imagemagick.org"/>
<meta name="Generator" content="PHP"/>
<meta name="Keywords" content="magickcore, c, api, for, imagemagick:, image, statistics, ImageMagick, PerlMagick, image processing, OpenMP, software development library, image, photo, software, Magick++, MagickWand"/>
<meta name="Rating" content="GENERAL"/>
<meta name="Robots" content="INDEX, FOLLOW"/>
<meta name="Generator" content="ImageMagick Studio LLC"/>
<meta name="Author" content="ImageMagick Studio LLC"/>
<meta name="Revisit-after" content="2 DAYS"/>
<meta name="Resource-type" content="document"/>
<meta name="Copyright" content="Copyright (c) 1999-2012 ImageMagick Studio LLC"/>
<meta name="Distribution" content="Global"/>
<link rel="icon" href="../../images/wand.png"/>
<link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
<link rel="canonical" href="http://www.imagemagick.org" />
<link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
<!-- Add jQuery library -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<!-- Optionaly include easing and/or mousewheel plugins -->
<script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.easing-1.3.pack.js"></script>
<script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.mousewheel-3.0.6.pack.js"></script>
<!-- Add fancyBox -->
<link rel="stylesheet" href="http://www.imagemagick.org/fancybox/jquery.fancybox.css?v=2.0.3" type="text/css" media="screen" />
<script type="text/javascript" src="http://www.imagemagick.org/fancybox/jquery.fancybox.pack.js?v=2.0.3"></script>
<!-- Optionaly include button and/or thumbnail helpers -->
<link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.css?v=2.0.3" type="text/css" media="screen" />
<script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
<link rel="stylesheet" href="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.css?v=2.0.3" type="text/css" media="screen" />
<script type="text/javascript" src="http://www.imagemagick.org/fancybox/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".fancybox").fancybox();
});
</script>
<!-- ImageMagick style -->
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />
<style type="text/css" media="all">
@import url("../../www/magick.css");
</style>
</head>
<body id="www-imagemagick-org">
<div class="titlebar">
<div style="margin: 17px auto; float: left;">
<script type="text/javascript">
<!--
google_ad_client = "pub-3129977114552745";
google_ad_slot = "5439289906";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<a href="http://www.imagemagick.org/discourse-server/">
<img src="../../images/logo.jpg"
alt="ImageMagick Logo"
style="width: 123px; height: 118px; border: 0px; float: right;" /></a>
<a href="../../index.html">
<img src="../../images/sprite.jpg"
alt="ImageMagick Sprite"
style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
</div>
<div class="westbar">
<div class="menu">
<a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
</div>
<div class="menu">
<a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
</div>
<div class="sub">
<a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
</div>
<div class="sub">
<a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
</div>
<div class="sub">
<a title="Binary Release: iOS" href="../../www/binary-releases.html#iOS">iOS</a>
</div>
<div class="sub">
<a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
</div>
<div class="sep"></div>
<div class="menu">
<a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
</div>
<div class="sub">
<a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
</div>
<div class="sub">
<a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
</div>
<div class="sub">
<a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
</div>
<div class="menu">
<a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
</div>
<div class="sub">
<a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
</div>
<div class="sub">
<a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
</div>
<div class="sub">
<a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
</div>
<div class="sub">
<a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
</div>
<div class="sep"></div>
<div class="menu">
<a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
</div>
<div class="sub">
<a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
</div>
<div class="sub">
<a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
</div>
<div class="menu">
<a title="Resources" href="../../www/resources.html">Resources</a>
</div>
<div class="menu">
<a title="Architecture" href="../../www/architecture.html">Architecture</a>
</div>
<div class="menu">
<a title="Download" href="../../www/download.html">Download</a>
</div>
<div class="sep"></div>
<div class="menu">
<a title="Search" href="../../www/search.html">Search</a>
</div>
<div class="sep"></div>
<div class="menu">
<a title="Site Map" href="../../www/sitemap.html">Site Map</a>
</div>
<div class="sub">
<a title="Site Map: Links" href="../../www/links.html">Links</a>
</div>
<div class="sep"></div>
<div class="menu">
<a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
<a href="http://www.networkredux.com"> <img src="../../images/networkredux.png" width="140" height="31" alt="[sponsor]" style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
<a href="http://www.dinodirect.com/ipads-tablets/"> <img src="../../images/dino-direct.jpg" width="140" height="90" alt="[sponsor]" style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a><!-- 201204010120 mickey@163... -->
<div class="sponsbox">
<div class="sponsor">
<a rel="follow" title="Android Tablet" href="http://www.dinodirect.com/ipads-tablets/">Android Tablet</a><!-- 201204010120 mickey@163... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Web Hosting" href="http://www.micfo.com">Web Hosting</a><!-- 209901010090s golestan -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Autos Part" href="http://www.pkwteile.de/autoteile">Autos Part</a><!-- 201203010270 info@pkwte... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Web Site Hosting" href="http://webhostinggeeks.com">Web Site Hosting</a><!-- 201302010900 funds@enmob... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Tenant Check" href="http://www.rentmethod.com/">Tenant Check</a><!-- 201203010090 chris@rentm... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: VPS" href="http://www.interdominios.com/vps">VPS</a><!-- 201204010090 barsh@inter... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Premium Quality Stock Photos" href="http://www.f1online.pro/en/">Premium Quality Stock Photos</a><!-- 2012080100540 ... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Search engine optimisation" href="http://www.seomoves.com.au">Search engine optimisation</a><!-- 201301010090s jen@seo lowprofilelinks -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 2012070100250 ... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Managed Server" href="http://www.robhost.de">Managed Server</a><!-- 201210010720 klikics... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Stock Photography" href="http://www.fotosearch.com/">Stock Photography</a><!-- 2012040100250 ... -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Autoteile" href="http://www.q11-shop.de">Autoteile</a><!-- 201205010540 suvalj -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Royalty Free Stock Images" href="http://www.canstockphoto.com/">Royalty Free Stock Images</a><!-- 2012050100360 support@can -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingsecretrevealed.com">Web Hosting Secret Revealed</a><!-- 201204010540 iamchee jerry -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Desktop Wallpaper" href="http://www.desktopexchange.com">Desktop Wallpaper</a><!-- 2012030100150 webinvasion1@y...-->
</div>
<div class="sponsor">
<a rel="follow" title="Sponsor: Schlüsseldienst Berlin BSD" href="http://www.schluesseldienst-berlin.de">Schlüsseldienst Berlin BSD</a><!-- 2012050100025 info@schlues-->
</div>
</div>
</div>
</div>
<div class="eastbar">
<div class="g-plusone" data-size="standard" data-count="false"></div>
<script type="text/javascript">
window.___gcfg = {
lang: 'en-US'
};
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
</div>
<div class="main">
<h1>Module statistic Methods</h1>
<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> &bull; <a href="#StatisticImage">StatisticImage</a>]</p>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="EvaluateImage">EvaluateImage</a></h2>
<div class="doc-section">
<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>
<p>The format of the EvaluateImageChannel method is:</p>
<pre class="code">
MagickBooleanType EvaluateImage(Image *image,
const MagickEvaluateOperator op,const double value,
ExceptionInfo *exception)
MagickBooleanType EvaluateImages(Image *images,
const MagickEvaluateOperator op,const double value,
ExceptionInfo *exception)
MagickBooleanType EvaluateImageChannel(Image *image,
const ChannelType channel,const MagickEvaluateOperator op,
const double value,ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>channel</h5>
<p>the channel.</p>
<h5>op</h5>
<p>A channel op.</p>
<h5>value</h5>
<p>A value value.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="FunctionImage">FunctionImage</a></h2>
<div class="doc-section">
<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>
<p>The format of the FunctionImageChannel method is:</p>
<pre class="code">
MagickBooleanType FunctionImage(Image *image,
const MagickFunction function,const ssize_t number_parameters,
const double *parameters,ExceptionInfo *exception)
MagickBooleanType FunctionImageChannel(Image *image,
const ChannelType channel,const MagickFunction function,
const ssize_t number_parameters,const double *argument,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>channel</h5>
<p>the channel.</p>
<h5>function</h5>
<p>A channel function.</p>
<h5>parameters</h5>
<p>one or more parameters.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="GetImageChannelMean">GetImageChannelMean</a></h2>
<div class="doc-section">
<p>GetImageChannelMean() returns the mean and standard deviation of one or more image channels.</p>
<p>The format of the GetImageChannelMean method is:</p>
<pre class="code">
MagickBooleanType GetImageChannelMean(const Image *image,
const ChannelType channel,double *mean,double *standard_deviation,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>channel</h5>
<p>the channel.</p>
<h5>mean</h5>
<p>the average value in the channel.</p>
<h5>standard_deviation</h5>
<p>the standard deviation of the channel.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="GetImageChannelKurtosis">GetImageChannelKurtosis</a></h2>
<div class="doc-section">
<p>GetImageChannelKurtosis() returns the kurtosis and skewness of one or more image channels.</p>
<p>The format of the GetImageChannelKurtosis method is:</p>
<pre class="code">
MagickBooleanType GetImageChannelKurtosis(const Image *image,
const ChannelType channel,double *kurtosis,double *skewness,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>channel</h5>
<p>the channel.</p>
<h5>kurtosis</h5>
<p>the kurtosis of the channel.</p>
<h5>skewness</h5>
<p>the skewness of the channel.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="GetImageChannelRange">GetImageChannelRange</a></h2>
<div class="doc-section">
<p>GetImageChannelRange() returns the range of one or more image channels.</p>
<p>The format of the GetImageChannelRange method is:</p>
<pre class="code">
MagickBooleanType GetImageChannelRange(const Image *image,
const ChannelType channel,double *minima,double *maxima,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>channel</h5>
<p>the channel.</p>
<h5>minima</h5>
<p>the minimum value in the channel.</p>
<h5>maxima</h5>
<p>the maximum value in the channel.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="GetImageChannelStatistics">GetImageChannelStatistics</a></h2>
<div class="doc-section">
<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>
<pre class="text">
channel_statistics=GetImageChannelStatistics(image,exception);
red_mean=channel_statistics[RedChannel].mean;
</pre>
<p>Use MagickRelinquishMemory() to free the statistics buffer.</p>
<p>The format of the GetImageChannelStatistics method is:</p>
<pre class="code">
ChannelStatistics *GetImageChannelStatistics(const Image *image,
ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
<h2><a href="http://www.imagemagick.org/api/MagickCore/statistic_8c.html" id="StatisticImage">StatisticImage</a></h2>
<div class="doc-section">
<p>StatisticImage() makes each pixel the min / max / median / mode / etc. of the neighborhood of the specified width and height.</p>
<p>The format of the StatisticImage method is:</p>
<pre class="code">
Image *StatisticImage(const Image *image,const StatisticType type,
const size_t width,const size_t height,ExceptionInfo *exception)
Image *StatisticImageChannel(const Image *image,
const ChannelType channel,const StatisticType type,
const size_t width,const size_t height,ExceptionInfo *exception)
</pre>
<p>A description of each parameter follows:</p>
<h5>image</h5>
<p>the image.</p>
<h5>channel</h5>
<p>the image channel.</p>
<h5>type</h5>
<p>the statistic type (median, mode, etc.).</p>
<h5>width</h5>
<p>the width of the pixel neighborhood.</p>
<h5>height</h5>
<p>the height of the pixel neighborhood.</p>
<h5>exception</h5>
<p>return any errors or warnings in this structure.</p>
</div>
</div>
<div id="linkbar">
<span id="linkbar-west">&nbsp;</span>
<span id="linkbar-center">
<a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
<a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
</span>
<span id="linkbar-east">&nbsp;</span>
</div>
<div class="footer">
<span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
<span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
</div>
<div style="clear: both; margin: 0; width: 100%; "></div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-17690367-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>