]> granicus.if.org Git - imagemagick/blob - www/api/histogram.html
(no commit message)
[imagemagick] / www / api / histogram.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" \r
2   "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">\r
4 <head>\r
5   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
6   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
7   <title>ImageMagick: MagickCore, C API for ImageMagick: Image Histograms</title>
8   <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"/>
11   <meta name="Application-name" content="ImageMagick"/>
12   <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."/>
13   <meta name="Application-url" content="http://www.imagemagick.org"/>
14   <meta name="Generator" content="PHP"/>
15   <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, image, histograms, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
16   <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-2011 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"/>
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"/>\r
27   <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />\r
28   <style type="text/css" media="all">\r
29     @import url("../../www/magick.css");\r
30   </style>\r
31   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
32   <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
33   <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
34   <script type="text/javascript">\r
35     $(document).ready(function() {\r
36       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
37         'transitionIn'  : 'elastic',\r
38         'transitionOut' : 'elastic',\r
39         'overlayShow'   : false,\r
40         'opacity'       : true\r
41       });\r
42     });\r
43   </script>\r
44 </head>\r
45 \r
46 <body id="www-imagemagick-org">\r
47 <div class="titlebar">\r
48 <a href="../../index.html">\r
49   <img src="../../images/script.png" alt="[ImageMagick]"\r
50   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
51 <a href="http://www.networkredux.com">\r
52   <img src="../../images/networkredux.png" alt="[sponsor]"\r
53   style="margin-top: 42px; border: 0px; float: left;" /></a>\r
54 <a href="http://www.imagemagick.org/discourse-server/">\r
55   <img src="../../images/logo.jpg"\r
56   alt="ImageMagick Logo"\r
57   style="width: 123px; height: 118px; border: 0px; float: right;" /></a>\r
58 <a href="../../index.html">\r
59   <img src="../../images/sprite.jpg"\r
60   alt="ImageMagick Sprite"\r
61   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
62 </div>\r
63 \r
64 <div class="westbar">\r
65 \r
66 <div class="menu">
67   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
68 </div>
69 <div class="sep"></div>\r
70 <div class="menu">
71   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
72 </div>
73 <div class="sub">
74     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
75 </div>
76 <div class="sub">
77     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
78 </div>
79 <div class="sub">
80     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
81 </div>
82 <div class="sep"></div>\r
83 <div class="menu">
84   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
85 </div>
86 <div class="sub">
87     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
88 </div>
89 <div class="sub">
90     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
91 </div>
92 <div class="sub">
93     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
94 </div>
95 <div class="menu">
96   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
97 </div>
98 <div class="sub">
99     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
100 </div>
101 <div class="sub">
102     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
103 </div>
104 <div class="sub">
105     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
106 </div>
107 <div class="sub">
108     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
109 </div>
110 <div class="sep"></div>\r
111 <div  class="menu">
112    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
113 </div>
114 <div class="sub">
115     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
116 </div>
117 <div class="sub">
118     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
119  </div>
120 <div class="menu">
121   <a title="Resources" href="../../www/resources.html">Resources</a>
122 </div>
123 <div class="menu">
124   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
125 </div>
126 <div class="menu">
127   <a title="Download" href="../../www/download.html">Download</a>
128 </div>
129 <div class="sep"></div>\r
130 <div class="menu">
131   <a title="Search" href="../../www/search.html">Search</a>
132 </div>
133 <div class="sep"></div>\r
134 <div class="menu">
135   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
136 </div>
137 <div  class="sub">
138   <a title="Site Map: Links" href="../../www/links.html">Links</a>
139 </div>
140 <div class="sep"></div>\r
141 <div  class="menu">
142   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
143
144 <div class="sponsbox">
145 <div  class="sponsor">
146   <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
147 </div>
148 <div  class="sponsor">
149   <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
150 </div>
151 <div  class="sponsor">
152   <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201106010240 -->
153 </div>
154 <div class="sponsor">
155   <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.shtml">Web Hosting</a><!-- 201104010090 -->
156 </div>
157 <div  class="sponsor">
158   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
159 </div>
160 <div  class="sponsor">
161   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
162 </div>
163 <div  class="sponsor">
164   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
165 </div>
166 <div  class="sponsor">
167    <a title="Sponsor: Custom T-Shirts" href="http://www.ooshirts.com">Custom T-Shirts</a><!-- 2011050100030 ooshirts.com-->
168 </div>
169 </div>
170 </div>
171 </div>\r
172 \r
173 <div class="eastbar">\r
174   <script type="text/javascript">\r
175   <!--\r
176     google_ad_client = "pub-3129977114552745";\r
177     google_ad_slot = "0574824969";\r
178     google_ad_width = 160;\r
179     google_ad_height = 600;\r
180   //-->\r
181   </script>\r
182   <script type="text/javascript"\r
183     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
184   </script>\r
185 </div>\r
186 \r
187 <div class="main">\r
188 \r
189 <h1>Module histogram
190  Methods</h1>
191 <p class="navigation-index">[<a href="#GetImageHistogram">GetImageHistogram</a> &bull; <a href="#IsHistogramImage">IsHistogramImage</a> &bull; <a href="#IsPaletteImage">IsPaletteImage</a> &bull; <a href="#MinMaxStretchImage">MinMaxStretchImage</a> &bull; <a href="#GetNumberColors">GetNumberColors</a> &bull; <a href="#UniqueImageColors">UniqueImageColors</a>]</p>
192
193 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
194 _8c.html" id="GetImageHistogram">GetImageHistogram</a></h2>
195 <div class="doc-section">
196
197 <p>GetImageHistogram() returns the unique colors in an image.</p>
198
199 <p>The format of the GetImageHistogram method is:</p>
200
201 <pre class="code">
202   size_t GetImageHistogram(const Image *image,
203     size_t *number_colors,ExceptionInfo *exception)
204 </pre>
205
206 <p>A description of each parameter follows.</p>
207
208 <h5>image</h5>
209 <p>the image.</p>
210
211 <h5>file</h5>
212 <p>Write a histogram of the color distribution to this file handle.</p>
213
214 <h5>exception</h5>
215 <p>return any errors or warnings in this structure.</p>
216
217  </div>
218 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
219 _8c.html" id="IsHistogramImage">IsHistogramImage</a></h2>
220 <div class="doc-section">
221
222 <p>IsHistogramImage() returns MagickTrue if the image has 1024 unique colors or less.</p>
223
224 <p>The format of the IsHistogramImage method is:</p>
225
226 <pre class="code">
227   MagickBooleanType IsHistogramImage(const Image *image,
228     ExceptionInfo *exception)
229 </pre>
230
231 <p>A description of each parameter follows.</p>
232
233 <h5>image</h5>
234 <p>the image.</p>
235
236 <h5>exception</h5>
237 <p>return any errors or warnings in this structure.</p>
238
239  </div>
240 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
241 _8c.html" id="IsPaletteImage">IsPaletteImage</a></h2>
242 <div class="doc-section">
243
244 <p>IsPaletteImage() returns MagickTrue if the image is PseudoClass and has 256 unique colors or less.</p>
245
246 <p>The format of the IsPaletteImage method is:</p>
247
248 <pre class="code">
249   MagickBooleanType IsPaletteImage(const Image *image,
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>exception</h5>
259 <p>return any errors or warnings in this structure.</p>
260
261  </div>
262 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
263 _8c.html" id="MinMaxStretchImage">MinMaxStretchImage</a></h2>
264 <div class="doc-section">
265
266 <p>MinMaxStretchImage() uses the exact minimum and maximum values found in each of the channels given, as the BlackPoint and WhitePoint to linearly stretch the colors (and histogram) of the image.  The stretch points are also moved further inward by the adjustment values given.</p>
267
268 <p>If the adjustment values are both zero this function is equivelent to a perfect normalization (or autolevel) of the image.</p>
269
270 <p>Each channel is stretched independantally of each other (producing color distortion) unless the special 'SyncChannels' flag is also provided in the channels setting. If this flag is present the minimum and maximum point will be extracted from all the given channels, and those channels will be stretched by exactly the same amount (preventing color distortion).</p>
271
272 <p>In the special case that only ONE value is found in a channel of the image that value is not stretched, that value is left as is.</p>
273
274 <p>The 'SyncChannels' is turned on in the 'DefaultChannels' setting by default.</p>
275
276 <p>The format of the MinMaxStretchImage method is:</p>
277
278 <pre class="code">
279   MagickBooleanType MinMaxStretchImage(Image *image,
280     const ChannelType channel, const double black_adjust,
281     const double white_adjust)
282 </pre>
283
284 <p>A description of each parameter follows:</p>
285
286 <h5>image</h5>
287 <p>The image to auto-level</p>
288
289 <h5>channel</h5>
290 <p>The channels to auto-level.  If the special 'SyncChannels' flag is set, all the given channels are stretched by the same amount.</p>
291
292 <h5>black_adjust, white_adjust</h5>
293 <p>Move the Black/White Point inward from the minimum and maximum points by this color value.</p>
294
295  </div>
296 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
297 _8c.html" id="GetNumberColors">GetNumberColors</a></h2>
298 <div class="doc-section">
299
300 <p>GetNumberColors() returns the number of unique colors in an image.</p>
301
302 <p>The format of the GetNumberColors method is:</p>
303
304 <pre class="code">
305   size_t GetNumberColors(const Image *image,FILE *file,
306     ExceptionInfo *exception)
307 </pre>
308
309 <p>A description of each parameter follows.</p>
310
311 <h5>image</h5>
312 <p>the image.</p>
313
314 <h5>file</h5>
315 <p>Write a histogram of the color distribution to this file handle.</p>
316
317 <h5>exception</h5>
318 <p>return any errors or warnings in this structure.</p>
319
320  </div>
321 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
322 _8c.html" id="UniqueImageColors">UniqueImageColors</a></h2>
323 <div class="doc-section">
324
325 <p>UniqueImageColors() returns the unique colors of an image.</p>
326
327 <p>The format of the UniqueImageColors method is:</p>
328
329 <pre class="code">
330   Image *UniqueImageColors(const Image *image,ExceptionInfo *exception)
331 </pre>
332
333 <p>A description of each parameter follows.</p>
334
335 <h5>image</h5>
336 <p>the image.</p>
337
338 <h5>exception</h5>
339 <p>return any errors or warnings in this structure.</p>
340
341  </div>
342 \r
343 </div>\r
344 \r
345 <div id="linkbar">\r
346     <span id="linkbar-west">&nbsp;</span>\r
347     <span id="linkbar-center">\r
348       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
349       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
350     </span>\r
351     <span id="linkbar-east">&nbsp;</span>\r
352   </div>\r
353   <div class="footer">\r
354     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
355     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
356   </div>\r
357   <div style="clear: both; margin: 0; width: 100%; "></div>\r
358   <script type="text/javascript">\r
359     var _gaq = _gaq || [];\r
360     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
361     _gaq.push(['_trackPageview']);\r
362 \r
363     (function() {\r
364       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
365       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
366       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
367     })();\r
368   </script>\r
369 </body>\r
370 </html>\r