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
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
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
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
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
61 <script type="text/javascript"
\r
62 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
\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
75 <div class="westbar">
\r
78 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
80 <div class="sep"></div>
\r
82 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
85 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
88 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
91 <a title="Binary Release: iPhone" href="../../www/binary-releases.html#iPhone">iPhone</a>
94 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
96 <div class="sep"></div>
\r
98 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
101 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
104 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
107 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
110 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
113 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
116 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
119 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
122 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
124 <div class="sep"></div>
\r
126 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
129 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
132 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
135 <a title="Resources" href="../../www/resources.html">Resources</a>
138 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
141 <a title="Download" href="../../www/download.html">Download</a>
143 <div class="sep"></div>
\r
145 <a title="Search" href="../../www/search.html">Search</a>
147 <div class="sep"></div>
\r
149 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
152 <a title="Site Map: Links" href="../../www/links.html">Links</a>
154 <div class="sep"></div>
\r
156 <a rel="follow" title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
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... -->
165 <div class="sponsor">
166 <a rel="follow" title="Sponsor: Druckerei" href="http://www.allesdruck.de">Druckerei</a><!-- 201303011500 r.leo -->
168 <div class="sponsor">
169 <a rel="follow" title="Sponsor: Website Hosting" href="http://www.hostreviewgeeks.com">Website Hosting</a><!-- 201110010090 alexanian media -->
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 -->
174 <div class="sponsor">
175 <a rel="follow" title="Sponsor: Best Web Hosting" href="http://webhostinggeeks.com">Best Web Hosting</a><!-- 201110010720 -->
177 <div class="sponsor">
178 <a rel="follow" title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
180 <div class="sponsor">
181 <a rel="follow" title="Sponsor: Web Hosting Reviews" href="http://www.webhostingmasters.com">Web Hosting Reviews</a><!-- 201107011500 affliatelabel -->
183 <div class="sponsor">
184 <a rel="follow" title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
186 <div class="sponsor">
187 <a rel="follow" title="Sponsor: Web Hosting Ratings" href="http://webhostingrating.com">Web Hosting Ratings</a><!-- 201110010720 -->
189 <div class="sponsor">
190 <a rel="follow" title="Sponsor: Fernsehdienst Berlin" href="http://www.atlas-multimedia.de">Fernsehdienst Berlin</a><!-- 2011080100025 atlas.multimedia-->
196 <div class="eastbar">
\r
202 <h1>Module compare Methods</h1>
203 <p class="navigation-index">[<a href="#CompareImageChannels">CompareImageChannels</a> • <a href="#GetImageChannelDistortion">GetImageChannelDistortion</a> • <a href="#GetImageChannelDistrortion">GetImageChannelDistrortion</a> • <a href="#IsImagesEqual">IsImagesEqual</a> • <a href="#SimilarityImage">SimilarityImage</a>]</p>
205 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="CompareImageChannels">CompareImageChannels</a></h2>
206 <div class="doc-section">
208 <p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p>
210 <p>The format of the CompareImageChannels method is:</p>
213 Image *CompareImageChannels(const Image *image,
214 const Image *reconstruct_image,const ChannelType channel,
215 const MetricType metric,double *distortion,ExceptionInfo *exception)
218 <p>A description of each parameter follows:</p>
223 <h5>reconstruct_image</h5>
224 <p>the reconstruct image.</p>
233 <p>the computed distortion between the images.</p>
236 <p>return any errors or warnings in this structure.</p>
239 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
240 <div class="doc-section">
242 <p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p>
244 <p>The format of the CompareImageChannels method is:</p>
247 MagickBooleanType GetImageChannelDistortion(const Image *image,
248 const Image *reconstruct_image,const ChannelType channel,
249 const MetricType metric,double *distortion,ExceptionInfo *exception)
252 <p>A description of each parameter follows:</p>
257 <h5>reconstruct_image</h5>
258 <p>the reconstruct image.</p>
267 <p>the computed distortion between the images.</p>
270 <p>return any errors or warnings in this structure.</p>
273 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
274 <div class="doc-section">
276 <p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p>
278 <p>The format of the CompareImageChannels method is:</p>
281 double *GetImageChannelDistortions(const Image *image,
282 const Image *reconstruct_image,const MetricType metric,
283 ExceptionInfo *exception)
286 <p>A description of each parameter follows:</p>
291 <h5>reconstruct_image</h5>
292 <p>the reconstruct image.</p>
298 <p>return any errors or warnings in this structure.</p>
301 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="IsImagesEqual">IsImagesEqual</a></h2>
302 <div class="doc-section">
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>
307 o mean_error_per_pixel: The mean error for any single pixel in
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>
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>
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>
319 <p>The format of the IsImagesEqual method is:</p>
322 MagickBooleanType IsImagesEqual(Image *image,
323 const Image *reconstruct_image)
326 <p>A description of each parameter follows.</p>
331 <h5>reconstruct_image</h5>
332 <p>the reconstruct image.</p>
335 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare_8c.html" id="SimilarityImage">SimilarityImage</a></h2>
336 <div class="doc-section">
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>
340 <p>The format of the SimilarityImageImage method is:</p>
343 Image *SimilarityImage(const Image *image,const Image *reference,
344 RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
347 <p>A description of each parameter follows:</p>
353 <p>find an area of the image that closely resembles this image.</p>
355 <p>o the best match offset of the reference image within the image.</p>
358 <p>the computed similarity between the images.</p>
361 <p>return any errors or warnings in this structure.</p>
368 <span id="linkbar-west"> </span>
\r
369 <span id="linkbar-center">
\r
370 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> •
\r
371 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
\r
373 <span id="linkbar-east"> </span>
\r
375 <div class="footer">
\r
376 <span id="footer-west">© 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
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
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