]> granicus.if.org Git - imagemagick/blob - www/api/compare.html
(no commit message)
[imagemagick] / www / api / compare.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 version="-//W3C//DTD XHTML 1.1//EN"\r
4       xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"\r
5       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
6       xsi:schemaLocation="http://www.w3.org/1999/xhtml\r
7                           http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd">\r
8 <head>\r
9   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>\r
10   <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>\r
11   <title>ImageMagick: MagickCore, C API for ImageMagick: Compare an Image to a Reconstructed Image</title>
12   <meta http-equiv="Content-Language" content="en-US"/>
13   <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
14   <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
15   <meta name="Application-name" content="ImageMagick"/>
16   <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."/>
17   <meta name="Application-url" content="http://www.imagemagick.org"/>
18   <meta name="Generator" content="PHP"/>
19   <meta name="Keywords" content="magickcore, c, api, for, imagemagick:, compare, an, image, to, a, reconstructed, image, ImageMagick, ImageMagic, MagickCore, MagickWand, PerlMagick, Magick++, RMagick, PythonMagick, JMagick, TclMagick, Image, Magick, Magic, Wand, ImageMagickObject, Swiss, Army, Knife, Image, Processing"/>
20   <meta name="Rating" content="GENERAL"/>
21   <meta name="Robots" content="INDEX, FOLLOW"/>
22   <meta name="Generator" content="ImageMagick Studio LLC"/>
23   <meta name="Author" content="ImageMagick Studio LLC"/>
24   <meta name="Revisit-after" content="2 DAYS"/>
25   <meta name="Resource-type" content="document"/>
26   <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
27   <meta name="Distribution" content="Global"/>
28   <link rel="icon" href="../../images/wand.png"/>
29   <link rel="shortcut icon" href="../../images/wand.ico"  type="images/x-icon"/>
30   <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>\r
31   <link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />\r
32   <style type="text/css" media="all">\r
33     @import url("../../www/magick.css");\r
34   </style>\r
35   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>\r
36   <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>\r
37   <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />\r
38   <script type="text/javascript">\r
39     $(document).ready(function() {\r
40       $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({\r
41         'transitionIn'  : 'elastic',\r
42         'transitionOut' : 'elastic',\r
43         'overlayShow'   : false,\r
44         'opacity'       : true\r
45       });\r
46     });\r
47   </script>\r
48 </head>\r
49 \r
50 <body id="www-imagemagick-org">\r
51 <div class="titlebar">\r
52 <div style="margin: 17px auto; float: left;">\r
53   <script type="text/javascript">\r
54   <!--\r
55     google_ad_client = "pub-3129977114552745";\r
56     google_ad_slot = "5439289906";\r
57     google_ad_width = 728;\r
58     google_ad_height = 90;\r
59   //-->\r
60   </script>\r
61   <script type="text/javascript"\r
62     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
63   </script>\r
64 </div>\r
65 <a href="http://www.imagemagick.org/discourse-server/">\r
66   <img src="../../images/logo.jpg"\r
67   alt="ImageMagick Logo"\r
68   style="width: 123px; height: 118px; border: 0px; float: right;" /></a>\r
69 <a href="../../index.html">\r
70   <img src="../../images/sprite.jpg"\r
71   alt="ImageMagick Sprite"\r
72   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
73 </div>\r
74 \r
75 <div class="westbar">\r
76 \r
77 <div class="menu">
78   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
79 </div>
80 <div class="sep"></div>\r
81 <div class="menu">
82   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
83 </div>
84 <div class="sub">
85     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
86 </div>
87 <div class="sub">
88     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
89 </div>
90 <div class="sub">
91     <a title="Binary Release: iPhone" href="../../www/binary-releases.html#iPhone">iPhone</a>
92 </div>
93 <div class="sub">
94     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
95 </div>
96 <div class="sep"></div>\r
97 <div class="menu">
98   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
99 </div>
100 <div class="sub">
101     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
102 </div>
103 <div class="sub">
104     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
105 </div>
106 <div class="sub">
107     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
108 </div>
109 <div class="menu">
110   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
111 </div>
112 <div class="sub">
113     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
114 </div>
115 <div class="sub">
116     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
117 </div>
118 <div class="sub">
119     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
120 </div>
121 <div class="sub">
122     <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
123 </div>
124 <div class="sep"></div>\r
125 <div  class="menu">
126    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
127 </div>
128 <div class="sub">
129     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
130 </div>
131 <div class="sub">
132     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
133  </div>
134 <div class="menu">
135   <a title="Resources" href="../../www/resources.html">Resources</a>
136 </div>
137 <div class="menu">
138   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
139 </div>
140 <div class="menu">
141   <a title="Download" href="../../www/download.html">Download</a>
142 </div>
143 <div class="sep"></div>\r
144 <div class="menu">
145   <a title="Search" href="../../www/search.html">Search</a>
146 </div>
147 <div class="sep"></div>\r
148 <div class="menu">
149   <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
150 </div>
151 <div  class="sub">
152   <a title="Site Map: Links" href="../../www/links.html">Links</a>
153 </div>
154 <div class="sep"></div>\r
155 <div  class="menu">
156   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
157
158 <a href="http://www.networkredux.com">
159   <img src="../../images/networkredux.png" alt="[sponsor]"
160   style="margin-top: 4px; margin-left: 4px; border: 0px; float: left;" /></a>
161 <div class="sponsbox">
162 <div  class="sponsor">
163   <a title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
164 </div>
165 <div  class="sponsor">
166   <a title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
167 </div>
168 <div  class="sponsor">
169   <a title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
170 </div>
171 <div  class="sponsor">
172   <a title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201107010090 alexanian media -->
173 </div>
174 <div  class="sponsor">
175   <a title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
176 </div>
177 <div  class="sponsor">
178   <a title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
179 </div>
180 <div  class="sponsor">
181   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
182 </div>
183 <div  class="sponsor">
184   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
185 </div>
186 <div  class="sponsor">
187    <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
188 </div>
189 </div>
190 </div>
191 </div>\r
192 \r
193 <div class="eastbar">\r
194 \r
195 </div>\r
196 \r
197 <div class="main">\r
198 \r
199 <h1>Module compare Methods</h1>
200 <p class="navigation-index">[<a href="#CompareImageChannels">CompareImageChannels</a> &bull; <a href="#GetImageChannelDistortion">GetImageChannelDistortion</a> &bull; <a href="#GetImageChannelDistrortion">GetImageChannelDistrortion</a> &bull; <a href="#IsImagesEqual">IsImagesEqual</a> &bull; <a href="#SimilarityImage">SimilarityImage</a>]</p>
201
202 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="CompareImageChannels">CompareImageChannels</a></h2>
203 <div class="doc-section">
204
205 <p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p>
206
207 <p>The format of the CompareImageChannels method is:</p>
208
209 <pre class="code">
210   Image *CompareImageChannels(const Image *image,
211     const Image *reconstruct_image,const ChannelType channel,
212     const MetricType metric,double *distortion,ExceptionInfo *exception)
213 </pre>
214
215 <p>A description of each parameter follows:</p>
216
217 <h5>image</h5>
218 <p>the image.</p>
219
220 <h5>reconstruct_image</h5>
221 <p>the reconstruct image.</p>
222
223 <h5>channel</h5>
224 <p>the channel.</p>
225
226 <h5>metric</h5>
227 <p>the metric.</p>
228
229 <h5>distortion</h5>
230 <p>the computed distortion between the images.</p>
231
232 <h5>exception</h5>
233 <p>return any errors or warnings in this structure.</p>
234
235  </div>
236 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
237 <div class="doc-section">
238
239 <p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p>
240
241 <p>The format of the CompareImageChannels method is:</p>
242
243 <pre class="code">
244   MagickBooleanType GetImageChannelDistortion(const Image *image,
245     const Image *reconstruct_image,const ChannelType channel,
246     const MetricType metric,double *distortion,ExceptionInfo *exception)
247 </pre>
248
249 <p>A description of each parameter follows:</p>
250
251 <h5>image</h5>
252 <p>the image.</p>
253
254 <h5>reconstruct_image</h5>
255 <p>the reconstruct image.</p>
256
257 <h5>channel</h5>
258 <p>the channel.</p>
259
260 <h5>metric</h5>
261 <p>the metric.</p>
262
263 <h5>distortion</h5>
264 <p>the computed distortion between the images.</p>
265
266 <h5>exception</h5>
267 <p>return any errors or warnings in this structure.</p>
268
269  </div>
270 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
271 <div class="doc-section">
272
273 <p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p>
274
275 <p>The format of the CompareImageChannels method is:</p>
276
277 <pre class="code">
278   double *GetImageChannelDistortions(const Image *image,
279     const Image *reconstruct_image,const MetricType metric,
280     ExceptionInfo *exception)
281 </pre>
282
283 <p>A description of each parameter follows:</p>
284
285 <h5>image</h5>
286 <p>the image.</p>
287
288 <h5>reconstruct_image</h5>
289 <p>the reconstruct image.</p>
290
291 <h5>metric</h5>
292 <p>the metric.</p>
293
294 <h5>exception</h5>
295 <p>return any errors or warnings in this structure.</p>
296
297  </div>
298 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="IsImagesEqual">IsImagesEqual</a></h2>
299 <div class="doc-section">
300
301 <p>IsImagesEqual() measures the difference between colors at each pixel location of two images.  A value other than 0 means the colors match exactly.  Otherwise an error measure is computed by summing over all pixels in an image the distance squared in RGB space between each image pixel and its corresponding pixel in the reconstruct image.  The error measure is assigned to these image members:</p>
302
303 <pre class="text">
304       o mean_error_per_pixel:  The mean error for any single pixel in
305   the image.
306 </pre>
307
308 <h5>normalized_mean_error</h5>
309 <p>The normalized mean quantization error for any single pixel in the image.  This distance measure is normalized to a range between 0 and 1.  It is independent of the range of red, green, and blue values in the image.</p>
310
311 <h5>normalized_maximum_error</h5>
312 <p>The normalized maximum quantization error for any single pixel in the image.  This distance measure is normalized to a range between 0 and 1.  It is independent of the range of red, green, and blue values in your image.</p>
313
314 <p>A small normalized mean square error, accessed as image->normalized_mean_error, suggests the images are very similar in spatial layout and color.</p>
315
316 <p>The format of the IsImagesEqual method is:</p>
317
318 <pre class="code">
319   MagickBooleanType IsImagesEqual(Image *image,
320     const Image *reconstruct_image)
321 </pre>
322
323 <p>A description of each parameter follows.</p>
324
325 <h5>image</h5>
326 <p>the image.</p>
327
328 <h5>reconstruct_image</h5>
329 <p>the reconstruct image.</p>
330
331  </div>
332 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="SimilarityImage">SimilarityImage</a></h2>
333 <div class="doc-section">
334
335 <p>SimilarityImage() compares the reference image of the image and returns the best match offset.  In addition, it returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between.</p>
336
337 <p>The format of the SimilarityImageImage method is:</p>
338
339 <pre class="code">
340   Image *SimilarityImage(const Image *image,const Image *reference,
341     RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
342 </pre>
343
344 <p>A description of each parameter follows:</p>
345
346 <h5>image</h5>
347 <p>the image.</p>
348
349 <h5>reference</h5>
350 <p>find an area of the image that closely resembles this image.</p>
351
352 <p>o the best match offset of the reference image within the image.</p>
353
354 <h5>similarity</h5>
355 <p>the computed similarity between the images.</p>
356
357 <h5>exception</h5>
358 <p>return any errors or warnings in this structure.</p>
359
360  </div>
361 \r
362 </div>\r
363 \r
364 <div id="linkbar">\r
365     <span id="linkbar-west">&nbsp;</span>\r
366     <span id="linkbar-center">\r
367       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
368       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
369     </span>\r
370     <span id="linkbar-east">&nbsp;</span>\r
371   </div>\r
372   <div class="footer">\r
373     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
374     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
375   </div>\r
376   <div style="clear: both; margin: 0; width: 100%; "></div>\r
377   <script type="text/javascript">\r
378     var _gaq = _gaq || [];\r
379     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
380     _gaq.push(['_trackPageview']);\r
381 \r
382     (function() {\r
383       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
384       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
385       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
386     })();\r
387   </script>\r
388 </body>\r
389 </html>\r