]> 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 rel="follow" 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 rel="follow" title="Sponsor: Web Hosting Break" href="http://www.webhostingbreak.com">Web Hosting Break</a><!-- 201109010090 ian@ian-m... -->
164 </div>
165 <div  class="sponsor">
166   <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
167 </div>
168 <div  class="sponsor">
169   <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
170 </div>
171 <div  class="sponsor">
172   <a rel="follow" title="Sponsor: Hotel München" href="http://www.messehotel-erb-muenchen.de">Hotel München</a><!-- 201111010450 cerb -->
173 </div>
174 <div  class="sponsor">
175   <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
176 </div>
177 <div  class="sponsor">
178   <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
179 </div>
180 <div  class="sponsor">
181   <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
182 </div>
183 <div  class="sponsor">
184   <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
185 </div>
186 <div  class="sponsor">
187   <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
188 </div>
189 <div  class="sponsor">
190    <a rel="follow" title="Sponsor: Fernsehdienst Berlin" href="http://www.atlas-multimedia.de">Fernsehdienst Berlin</a><!-- 2011080100025 atlas.multimedia-->
191 </div>
192 </div>
193 </div>
194 </div>\r
195 \r
196 <div class="eastbar">\r
197 \r
198 </div>\r
199 \r
200 <div class="main">\r
201 \r
202 <h1>Module compare Methods</h1>
203 <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>
204
205 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="CompareImageChannels">CompareImageChannels</a></h2>
206 <div class="doc-section">
207
208 <p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p>
209
210 <p>The format of the CompareImageChannels method is:</p>
211
212 <pre class="code">
213   Image *CompareImageChannels(const Image *image,
214     const Image *reconstruct_image,const ChannelType channel,
215     const MetricType metric,double *distortion,ExceptionInfo *exception)
216 </pre>
217
218 <p>A description of each parameter follows:</p>
219
220 <h5>image</h5>
221 <p>the image.</p>
222
223 <h5>reconstruct_image</h5>
224 <p>the reconstruct image.</p>
225
226 <h5>channel</h5>
227 <p>the channel.</p>
228
229 <h5>metric</h5>
230 <p>the metric.</p>
231
232 <h5>distortion</h5>
233 <p>the computed distortion between the images.</p>
234
235 <h5>exception</h5>
236 <p>return any errors or warnings in this structure.</p>
237
238  </div>
239 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
240 <div class="doc-section">
241
242 <p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p>
243
244 <p>The format of the CompareImageChannels method is:</p>
245
246 <pre class="code">
247   MagickBooleanType GetImageChannelDistortion(const Image *image,
248     const Image *reconstruct_image,const ChannelType channel,
249     const MetricType metric,double *distortion,ExceptionInfo *exception)
250 </pre>
251
252 <p>A description of each parameter follows:</p>
253
254 <h5>image</h5>
255 <p>the image.</p>
256
257 <h5>reconstruct_image</h5>
258 <p>the reconstruct image.</p>
259
260 <h5>channel</h5>
261 <p>the channel.</p>
262
263 <h5>metric</h5>
264 <p>the metric.</p>
265
266 <h5>distortion</h5>
267 <p>the computed distortion between the images.</p>
268
269 <h5>exception</h5>
270 <p>return any errors or warnings in this structure.</p>
271
272  </div>
273 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
274 <div class="doc-section">
275
276 <p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p>
277
278 <p>The format of the CompareImageChannels method is:</p>
279
280 <pre class="code">
281   double *GetImageChannelDistortions(const Image *image,
282     const Image *reconstruct_image,const MetricType metric,
283     ExceptionInfo *exception)
284 </pre>
285
286 <p>A description of each parameter follows:</p>
287
288 <h5>image</h5>
289 <p>the image.</p>
290
291 <h5>reconstruct_image</h5>
292 <p>the reconstruct image.</p>
293
294 <h5>metric</h5>
295 <p>the metric.</p>
296
297 <h5>exception</h5>
298 <p>return any errors or warnings in this structure.</p>
299
300  </div>
301 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="IsImagesEqual">IsImagesEqual</a></h2>
302 <div class="doc-section">
303
304 <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>
305
306 <pre class="text">
307       o mean_error_per_pixel:  The mean error for any single pixel in
308   the image.
309 </pre>
310
311 <h5>normalized_mean_error</h5>
312 <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>
313
314 <h5>normalized_maximum_error</h5>
315 <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>
316
317 <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>
318
319 <p>The format of the IsImagesEqual method is:</p>
320
321 <pre class="code">
322   MagickBooleanType IsImagesEqual(Image *image,
323     const Image *reconstruct_image)
324 </pre>
325
326 <p>A description of each parameter follows.</p>
327
328 <h5>image</h5>
329 <p>the image.</p>
330
331 <h5>reconstruct_image</h5>
332 <p>the reconstruct image.</p>
333
334  </div>
335 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="SimilarityImage">SimilarityImage</a></h2>
336 <div class="doc-section">
337
338 <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>
339
340 <p>The format of the SimilarityImageImage method is:</p>
341
342 <pre class="code">
343   Image *SimilarityImage(const Image *image,const Image *reference,
344     RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
345 </pre>
346
347 <p>A description of each parameter follows:</p>
348
349 <h5>image</h5>
350 <p>the image.</p>
351
352 <h5>reference</h5>
353 <p>find an area of the image that closely resembles this image.</p>
354
355 <p>o the best match offset of the reference image within the image.</p>
356
357 <h5>similarity</h5>
358 <p>the computed similarity between the images.</p>
359
360 <h5>exception</h5>
361 <p>return any errors or warnings in this structure.</p>
362
363  </div>
364 \r
365 </div>\r
366 \r
367 <div id="linkbar">\r
368     <span id="linkbar-west">&nbsp;</span>\r
369     <span id="linkbar-center">\r
370       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
371       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
372     </span>\r
373     <span id="linkbar-east">&nbsp;</span>\r
374   </div>\r
375   <div class="footer">\r
376     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
377     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
378   </div>\r
379   <div style="clear: both; margin: 0; width: 100%; "></div>\r
380   <script type="text/javascript">\r
381     var _gaq = _gaq || [];\r
382     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
383     _gaq.push(['_trackPageview']);\r
384 \r
385     (function() {\r
386       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
387       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
388       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
389     })();\r
390   </script>\r
391 </body>\r
392 </html>\r