]> 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="ImageMagick is a software suite to create, edit, compose, or convert bitmap images in a variety of formats. Use ImageMagick to scale, 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" alt=""\r
56   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
57 <a href="../../index.html">\r
58   <img src="../../images/sprite.jpg" alt=""\r
59   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
60 </div>\r
61 \r
62 <div class="westbar">\r
63 \r
64 <div class="menu">
65   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
66 </div>
67 <div class="sep"></div>\r
68 <div class="menu">
69   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
70 </div>
71 <div class="sub">
72     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
73 </div>
74 <div class="sub">
75     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
76 </div>
77 <div class="sub">
78     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
79 </div>
80 <div class="sep"></div>\r
81 <div class="menu">
82   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
83 </div>
84 <div class="sub">
85     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
86 </div>
87 <div class="sub">
88     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
89 </div>
90 <div class="sub">
91     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
92 </div>
93 <div class="menu">
94   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
95 </div>
96 <div class="sub">
97     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
98 </div>
99 <div class="sub">
100     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
101 </div>
102 <div class="sub">
103     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
104 </div>
105 <div class="sub">
106     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
107 </div>
108 <div class="sep"></div>\r
109 <div  class="menu">
110    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
111 </div>
112 <div class="sub">
113     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
114 </div>
115 <div class="sub">
116     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
117  </div>
118 <div class="menu">
119   <a title="Resources" href="../../www/resources.html">Resources</a>
120 </div>
121 <div class="menu">
122   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
123 </div>
124 <div class="menu">
125   <a title="Download" href="../../www/download.html">Download</a>
126 </div>
127 <div class="sep"></div>\r
128 <div class="menu">
129   <a title="Search" href="../../www/search.html">Search</a>
130 </div>
131 <div class="sep"></div>\r
132 <div class="menu">
133   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
134 </div>
135 <div  class="sub">
136   <a title="Site Map: Links" href="../../www/links.html">Links</a>
137 </div>
138 <div class="sep"></div>\r
139 <div  class="menu">
140   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
141
142 <div class="sponsbox">
143 <div class="sponsor">
144   <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.shtml">Web Hosting</a><!-- 201104010090 -->
145 </div>
146 <div  class="sponsor">
147   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
148 </div>
149 <div  class="sponsor">
150   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
151 </div>
152 <div  class="sponsor">
153   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
154 </div>
155 <div  class="sponsor">
156    <a title="Sponsor: alaTest.com" href="http://alatest.com">alaTest.com</a><!-- 20110801000300 -->
157 </div>
158 </div>
159 </div>
160 </div>\r
161 \r
162 <div class="eastbar">\r
163   <script type="text/javascript">\r
164   <!--\r
165     google_ad_client = "pub-3129977114552745";\r
166     google_ad_slot = "0574824969";\r
167     google_ad_width = 160;\r
168     google_ad_height = 600;\r
169   //-->\r
170   </script>\r
171   <script type="text/javascript"\r
172     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
173   </script>\r
174 </div>\r
175 \r
176 <div class="main">\r
177 \r
178 <h1>Module histogram
179  Methods</h1>
180 <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>
181
182 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
183 _8c.html" id="GetImageHistogram">GetImageHistogram</a></h2>
184 <div class="doc-section">
185
186 <p>GetImageHistogram() returns the unique colors in an image.</p>
187
188 <p>The format of the GetImageHistogram method is:</p>
189
190 <pre class="code">
191   size_t GetImageHistogram(const Image *image,
192     size_t *number_colors,ExceptionInfo *exception)
193 </pre>
194
195 <p>A description of each parameter follows.</p>
196
197 <h5>image</h5>
198 <p>the image.</p>
199
200 <h5>file</h5>
201 <p>Write a histogram of the color distribution to this file handle.</p>
202
203 <h5>exception</h5>
204 <p>return any errors or warnings in this structure.</p>
205
206  </div>
207 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
208 _8c.html" id="IsHistogramImage">IsHistogramImage</a></h2>
209 <div class="doc-section">
210
211 <p>IsHistogramImage() returns MagickTrue if the image has 1024 unique colors or less.</p>
212
213 <p>The format of the IsHistogramImage method is:</p>
214
215 <pre class="code">
216   MagickBooleanType IsHistogramImage(const Image *image,
217     ExceptionInfo *exception)
218 </pre>
219
220 <p>A description of each parameter follows.</p>
221
222 <h5>image</h5>
223 <p>the image.</p>
224
225 <h5>exception</h5>
226 <p>return any errors or warnings in this structure.</p>
227
228  </div>
229 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
230 _8c.html" id="IsPaletteImage">IsPaletteImage</a></h2>
231 <div class="doc-section">
232
233 <p>IsPaletteImage() returns MagickTrue if the image is PseudoClass and has 256 unique colors or less.</p>
234
235 <p>The format of the IsPaletteImage method is:</p>
236
237 <pre class="code">
238   MagickBooleanType IsPaletteImage(const Image *image,
239     ExceptionInfo *exception)
240 </pre>
241
242 <p>A description of each parameter follows.</p>
243
244 <h5>image</h5>
245 <p>the image.</p>
246
247 <h5>exception</h5>
248 <p>return any errors or warnings in this structure.</p>
249
250  </div>
251 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
252 _8c.html" id="MinMaxStretchImage">MinMaxStretchImage</a></h2>
253 <div class="doc-section">
254
255 <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>
256
257 <p>If the adjustment values are both zero this function is equivelent to a perfect normalization (or autolevel) of the image.</p>
258
259 <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>
260
261 <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>
262
263 <p>The 'SyncChannels' is turned on in the 'DefaultChannels' setting by default.</p>
264
265 <p>The format of the MinMaxStretchImage method is:</p>
266
267 <pre class="code">
268   MagickBooleanType MinMaxStretchImage(Image *image,
269     const ChannelType channel, const double black_adjust,
270     const double white_adjust)
271 </pre>
272
273 <p>A description of each parameter follows:</p>
274
275 <h5>image</h5>
276 <p>The image to auto-level</p>
277
278 <h5>channel</h5>
279 <p>The channels to auto-level.  If the special 'SyncChannels' flag is set, all the given channels are stretched by the same amount.</p>
280
281 <h5>black_adjust, white_adjust</h5>
282 <p>Move the Black/White Point inward from the minimum and maximum points by this color value.</p>
283
284  </div>
285 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
286 _8c.html" id="GetNumberColors">GetNumberColors</a></h2>
287 <div class="doc-section">
288
289 <p>GetNumberColors() returns the number of unique colors in an image.</p>
290
291 <p>The format of the GetNumberColors method is:</p>
292
293 <pre class="code">
294   size_t GetNumberColors(const Image *image,FILE *file,
295     ExceptionInfo *exception)
296 </pre>
297
298 <p>A description of each parameter follows.</p>
299
300 <h5>image</h5>
301 <p>the image.</p>
302
303 <h5>file</h5>
304 <p>Write a histogram of the color distribution to this file handle.</p>
305
306 <h5>exception</h5>
307 <p>return any errors or warnings in this structure.</p>
308
309  </div>
310 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/histogram
311 _8c.html" id="UniqueImageColors">UniqueImageColors</a></h2>
312 <div class="doc-section">
313
314 <p>UniqueImageColors() returns the unique colors of an image.</p>
315
316 <p>The format of the UniqueImageColors method is:</p>
317
318 <pre class="code">
319   Image *UniqueImageColors(const Image *image,ExceptionInfo *exception)
320 </pre>
321
322 <p>A description of each parameter follows.</p>
323
324 <h5>image</h5>
325 <p>the image.</p>
326
327 <h5>exception</h5>
328 <p>return any errors or warnings in this structure.</p>
329
330  </div>
331 \r
332 </div>\r
333 \r
334 <div id="linkbar">\r
335     <span id="linkbar-west">&nbsp;</span>\r
336     <span id="linkbar-center">\r
337       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
338       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
339     </span>\r
340     <span id="linkbar-east">&nbsp;</span>\r
341   </div>\r
342   <div class="footer">\r
343     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
344     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
345   </div>\r
346   <div style="clear: both; margin: 0; width: 100%; "></div>\r
347   <script type="text/javascript">\r
348     var _gaq = _gaq || [];\r
349     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
350     _gaq.push(['_trackPageview']);\r
351 \r
352     (function() {\r
353       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
354       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
355       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
356     })();\r
357   </script>\r
358 </body>\r
359 </html>\r