]> 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 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: Compare an Image to a Reconstructed Image</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:, 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"/>
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: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011050100025 gabi.schulze-->
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 compare
179  Methods</h1>
180 <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>
181
182 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/compare
183 _8c.html" id="CompareImageChannels">CompareImageChannels</a></h2>
184 <div class="doc-section">
185
186 <p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p>
187
188 <p>The format of the CompareImageChannels method is:</p>
189
190 <pre class="code">
191   Image *CompareImageChannels(const Image *image,
192     const Image *reconstruct_image,const ChannelType channel,
193     const MetricType metric,double *distortion,ExceptionInfo *exception)
194 </pre>
195
196 <p>A description of each parameter follows:</p>
197
198 <h5>image</h5>
199 <p>the image.</p>
200
201 <h5>reconstruct_image</h5>
202 <p>the reconstruct image.</p>
203
204 <h5>channel</h5>
205 <p>the channel.</p>
206
207 <h5>metric</h5>
208 <p>the metric.</p>
209
210 <h5>distortion</h5>
211 <p>the computed distortion between the images.</p>
212
213 <h5>exception</h5>
214 <p>return any errors or warnings in this structure.</p>
215
216  </div>
217 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/compare
218 _8c.html" id="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
219 <div class="doc-section">
220
221 <p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p>
222
223 <p>The format of the CompareImageChannels method is:</p>
224
225 <pre class="code">
226   MagickBooleanType GetImageChannelDistortion(const Image *image,
227     const Image *reconstruct_image,const ChannelType channel,
228     const MetricType metric,double *distortion,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>reconstruct_image</h5>
237 <p>the reconstruct image.</p>
238
239 <h5>channel</h5>
240 <p>the channel.</p>
241
242 <h5>metric</h5>
243 <p>the metric.</p>
244
245 <h5>distortion</h5>
246 <p>the computed distortion between the images.</p>
247
248 <h5>exception</h5>
249 <p>return any errors or warnings in this structure.</p>
250
251  </div>
252 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/compare
253 _8c.html" id="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
254 <div class="doc-section">
255
256 <p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p>
257
258 <p>The format of the CompareImageChannels method is:</p>
259
260 <pre class="code">
261   double *GetImageChannelDistortions(const Image *image,
262     const Image *reconstruct_image,const MetricType metric,
263     ExceptionInfo *exception)
264 </pre>
265
266 <p>A description of each parameter follows:</p>
267
268 <h5>image</h5>
269 <p>the image.</p>
270
271 <h5>reconstruct_image</h5>
272 <p>the reconstruct image.</p>
273
274 <h5>metric</h5>
275 <p>the metric.</p>
276
277 <h5>exception</h5>
278 <p>return any errors or warnings in this structure.</p>
279
280  </div>
281 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/compare
282 _8c.html" id="IsImagesEqual">IsImagesEqual</a></h2>
283 <div class="doc-section">
284
285 <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>
286
287 <pre class="text">
288       o mean_error_per_pixel:  The mean error for any single pixel in
289   the image.
290 </pre>
291
292 <h5>normalized_mean_error</h5>
293 <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>
294
295 <h5>normalized_maximum_error</h5>
296 <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>
297
298 <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>
299
300 <p>The format of the IsImagesEqual method is:</p>
301
302 <pre class="code">
303   MagickBooleanType IsImagesEqual(Image *image,
304     const Image *reconstruct_image)
305 </pre>
306
307 <p>A description of each parameter follows.</p>
308
309 <h5>image</h5>
310 <p>the image.</p>
311
312 <h5>reconstruct_image</h5>
313 <p>the reconstruct image.</p>
314
315  </div>
316 <h2><a href="http://www.wizards-toolkit.org/api/MagickCore/compare
317 _8c.html" id="SimilarityImage">SimilarityImage</a></h2>
318 <div class="doc-section">
319
320 <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>
321
322 <p>The format of the SimilarityImageImage method is:</p>
323
324 <pre class="code">
325   Image *SimilarityImage(const Image *image,const Image *reference,
326     RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
327 </pre>
328
329 <p>A description of each parameter follows:</p>
330
331 <h5>image</h5>
332 <p>the image.</p>
333
334 <h5>reference</h5>
335 <p>find an area of the image that closely resembles this image.</p>
336
337 <p>o the best match offset of the reference image within the image.</p>
338
339 <h5>similarity</h5>
340 <p>the computed similarity between the images.</p>
341
342 <h5>exception</h5>
343 <p>return any errors or warnings in this structure.</p>
344
345  </div>
346 \r
347 </div>\r
348 \r
349 <div id="linkbar">\r
350     <span id="linkbar-west">&nbsp;</span>\r
351     <span id="linkbar-center">\r
352       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
353       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
354     </span>\r
355     <span id="linkbar-east">&nbsp;</span>\r
356   </div>\r
357   <div class="footer">\r
358     <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>\r
359     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
360   </div>\r
361   <div style="clear: both; margin: 0; width: 100%; "></div>\r
362   <script type="text/javascript">\r
363     var _gaq = _gaq || [];\r
364     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
365     _gaq.push(['_trackPageview']);\r
366 \r
367     (function() {\r
368       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
369       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
370       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
371     })();\r
372   </script>\r
373 </body>\r
374 </html>\r