blob: 0bb0d8fa7e13c4ffcb059edeac4d74bb1f43b115 [file] [log] [blame]
cristydcca3fa2010-12-29 21:50:07 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3c98a4f2010-08-13 20:09:41 +00005 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
cristyffb69ed2010-12-25 00:06:48 +00007 <title>ImageMagick: MagickCore, C API for ImageMagick: Compare an Image to a Reconstructed Image</title>
cristy3ed852e2009-09-05 21:47:34 +00008 <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"/>
cristy3c98a4f2010-08-13 20:09:41 +000011 <meta name="Application-name" content="ImageMagick"/>
cristydcca3fa2010-12-29 21:50:07 +000012 <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."/>
cristy3c98a4f2010-08-13 20:09:41 +000013 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3ed852e2009-09-05 21:47:34 +000014 <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"/>
cristy3ed852e2009-09-05 21:47:34 +000016 <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"/>
cristy4103d562010-12-10 01:38:54 +000022 <meta name="Copyright" content="Copyright (c) 1999-2011 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000023 <meta name="Distribution" content="Global"/>
cristydcca3fa2010-12-29 21:50:07 +000024 <link rel="icon" href="../../images/wand.png"/>
cristy3c98a4f2010-08-13 20:09:41 +000025 <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"/>
27 <style type="text/css" media="all">
28 @import url("../../www/magick.css");
29 </style>
cristydcca3fa2010-12-29 21:50:07 +000030 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
cristy361f4662010-12-31 23:02:52 +000031 <script type="text/javascript" src="../fancybox/jquery.fancybox-1.3.4.pack.js"></script>
32 <link rel="stylesheet" type="text/css" href="../fancybox/jquery.fancybox-1.3.4.css" media="screen" />
33 <script type="text/javascript">
34 $(document).ready(function() {
35 $("a[href$=.jpg],a[href$=.png],a[href$=.gif]").fancybox({
36 'transitionIn' : 'elastic',
37 'transitionOut' : 'elastic',
38 'overlayShow' : false,
39 'opacity' : true
40 });
41 });
42 </script>
cristy3eaa0ef2010-03-06 20:35:26 +000043</head>
44
45<body id="www-imagemagick-org">
46<div class="titlebar">
47<a href="../../index.html">
48 <img src="../../images/script.png" alt="[ImageMagick]"
49 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
50<a href="http://www.networkredux.com">
51 <img src="../../images/networkredux.png" alt="[sponsor]"
52 style="margin: 45px auto; border: 0px; float: left;" /></a>
53<a href="http://www.imagemagick.org/discourse-server/">
54 <img src="../../images/logo.jpg" alt=""
55 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
56<a href="../../index.html">
57 <img src="../../images/sprite.jpg" alt=""
58 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
59</div>
60
cristyce69bb02010-07-27 19:49:46 +000061<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000062
cristy3ed852e2009-09-05 21:47:34 +000063<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000064 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000065</div>
cristy3eaa0ef2010-03-06 20:35:26 +000066<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000067<div class="menu">
cristybb503372010-05-27 20:51:26 +000068 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
69</div>
70<div class="sub">
71 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
72</div>
73<div class="sub">
74 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
75</div>
76<div class="sub">
77 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
78</div>
79<div class="sep"></div>
80<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000081 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000082</div>
83<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000084 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000085</div>
86<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000087 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000088</div>
89<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000090 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000091</div>
92<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +0000100</div>
101<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
104<div class="sub">
cristydcca3fa2010-12-29 21:50:07 +0000105 <a title="Program Interface: Magick++" href="../../www/magick++.html">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +0000106</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000107<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000108<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000109 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +0000110</div>
111<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +0000113</div>
114<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000115 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000116 </div>
117<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000118 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000119</div>
cristybb503372010-05-27 20:51:26 +0000120<div class="menu">
121 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
122</div>
cristy3ed852e2009-09-05 21:47:34 +0000123<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000124 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000125</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000126<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000127<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000128 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000129</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000130<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000131<div class="menu">
cristyffb69ed2010-12-25 00:06:48 +0000132 <a title="Site Map" href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000133</div>
134<div class="sub">
cristyffb69ed2010-12-25 00:06:48 +0000135 <a title="Site Map: Links" href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000136</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000137<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000138<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000140
141<div class="sponsbox">
cristyec6b4752011-01-08 03:16:23 +0000142<div class="sponsor">
143 <a title="Sponsor: Web Hosting" href="http://www.bodhost.com/hosting.html">Web Hosting</a><!-- 201104010090 -->
cristy5c4585b2010-11-11 00:13:57 +0000144</div>
145<div class="sponsor">
cristy7d52cd62010-10-01 17:26:59 +0000146 <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
cristy73fd1cd2010-09-12 19:14:25 +0000147</div>
148<div class="sponsor">
cristyc5baf4f2010-08-31 15:05:33 +0000149 <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
150</div>
151<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000152 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
153</div>
cristyec6b4752011-01-08 03:16:23 +0000154<div class="sponsor">
155 <a title="Sponsor: Notebook Reparatur Berlin" href="http://www.notebook-reparaturen-berlin.de">Notebook Reparatur Berlin</a><!-- 2011050100025 gabi.schulze-->
156</div>
cristy3ed852e2009-09-05 21:47:34 +0000157</div>
158</div>
cristyce69bb02010-07-27 19:49:46 +0000159</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000160
cristyce69bb02010-07-27 19:49:46 +0000161<div class="eastbar">
162 <script type="text/javascript">
163 <!--
164 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000165 google_ad_slot = "0574824969";
166 google_ad_width = 160;
167 google_ad_height = 600;
168 //-->
169 </script>
170 <script type="text/javascript"
171 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
172 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000173</div>
174
175<div class="main">
176
cristy307ba182010-12-25 01:00:34 +0000177<h1>Module compare
178 Methods</h1>
cristy3ed852e2009-09-05 21:47:34 +0000179<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>
180
181<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
182_8c.html" target="source" name="CompareImageChannels">CompareImageChannels</a></h2>
183<div class="doc-section">
184
185<p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p></ol>
186
187<p>The format of the CompareImageChannels method is:</p>
188
189<pre class="code">
190 Image *CompareImageChannels(const Image *image,
191 const Image *reconstruct_image,const ChannelType channel,
192 const MetricType metric,double *distortion,ExceptionInfo *exception)
193</pre>
194
195<p>A description of each parameter follows:</p></ol>
196
197<h5>image</h5>
198<ol><p>the image.</p></ol>
199
200<h5>reconstruct_image</h5>
201<ol><p>the reconstruct image.</p></ol>
202
203<h5>channel</h5>
204<ol><p>the channel.</p></ol>
205
206<h5>metric</h5>
207<ol><p>the metric.</p></ol>
208
209<h5>distortion</h5>
210<ol><p>the computed distortion between the images.</p></ol>
211
212<h5>exception</h5>
213<ol><p>return any errors or warnings in this structure.</p></ol>
214
215 </div>
216<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
217_8c.html" target="source" name="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
218<div class="doc-section">
219
220<p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p></ol>
221
222<p>The format of the CompareImageChannels method is:</p>
223
224<pre class="code">
225 MagickBooleanType GetImageChannelDistortion(const Image *image,
226 const Image *reconstruct_image,const ChannelType channel,
227 const MetricType metric,double *distortion,ExceptionInfo *exception)
228</pre>
229
230<p>A description of each parameter follows:</p></ol>
231
232<h5>image</h5>
233<ol><p>the image.</p></ol>
234
235<h5>reconstruct_image</h5>
236<ol><p>the reconstruct image.</p></ol>
237
238<h5>channel</h5>
239<ol><p>the channel.</p></ol>
240
241<h5>metric</h5>
242<ol><p>the metric.</p></ol>
243
244<h5>distortion</h5>
245<ol><p>the computed distortion between the images.</p></ol>
246
247<h5>exception</h5>
248<ol><p>return any errors or warnings in this structure.</p></ol>
249
250 </div>
251<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
252_8c.html" target="source" name="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
253<div class="doc-section">
254
255<p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p></ol>
256
257<p>The format of the CompareImageChannels method is:</p>
258
259<pre class="code">
260 double *GetImageChannelDistortions(const Image *image,
261 const Image *reconstruct_image,const MetricType metric,
262 ExceptionInfo *exception)
263</pre>
264
265<p>A description of each parameter follows:</p></ol>
266
267<h5>image</h5>
268<ol><p>the image.</p></ol>
269
270<h5>reconstruct_image</h5>
271<ol><p>the reconstruct image.</p></ol>
272
273<h5>metric</h5>
274<ol><p>the metric.</p></ol>
275
276<h5>exception</h5>
277<ol><p>return any errors or warnings in this structure.</p></ol>
278
279 </div>
280<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
281_8c.html" target="source" name="IsImagesEqual">IsImagesEqual</a></h2>
282<div class="doc-section">
283
284<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>
285
286<pre class="text">
287 o mean_error_per_pixel: The mean error for any single pixel in
288 the image.
289</pre>
290
291<h5>normalized_mean_error</h5>
292<ol><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></ol>
293
294<h5>normalized_maximum_error</h5>
295<ol><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></ol>
296
297<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></ol>
298
299<p>The format of the IsImagesEqual method is:</p>
300
301<pre class="code">
302 MagickBooleanType IsImagesEqual(Image *image,
303 const Image *reconstruct_image)
304</pre>
305
306<p>A description of each parameter follows.</p></ol>
307
308<h5>image</h5>
309<ol><p>the image.</p></ol>
310
311<h5>reconstruct_image</h5>
312<ol><p>the reconstruct image.</p></ol>
313
314 </div>
315<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
316_8c.html" target="source" name="SimilarityImage">SimilarityImage</a></h2>
317<div class="doc-section">
318
319<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></ol>
320
321<p>The format of the SimilarityImageImage method is:</p>
322
323<pre class="code">
324 Image *SimilarityImage(const Image *image,const Image *reference,
325 RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
326</pre>
327
328<p>A description of each parameter follows:</p></ol>
329
330<h5>image</h5>
331<ol><p>the image.</p></ol>
332
333<h5>reference</h5>
334<ol><p>find an area of the image that closely resembles this image.</p></ol>
335
336<p>o the best match offset of the reference image within the image.</p></ol>
337
338<h5>similarity</h5>
339<ol><p>the computed similarity between the images.</p></ol>
340
341<h5>exception</h5>
342<ol><p>return any errors or warnings in this structure.</p></ol>
343
344 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000345
346</div>
347
348<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000349 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000350 <span id="linkbar-center">
351 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000352 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000353 </span>
354 <span id="linkbar-east">&nbsp;</span>
355 </div>
356 <div class="footer">
cristy4103d562010-12-10 01:38:54 +0000357 <span id="footer-west">&copy; 1999-2011 ImageMagick Studio LLC</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000358 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
359 </div>
360 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000361 <script type="text/javascript">
362 var _gaq = _gaq || [];
363 _gaq.push(['_setAccount', 'UA-17690367-1']);
364 _gaq.push(['_trackPageview']);
365
366 (function() {
367 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
368 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
369 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
370 })();
371 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000372</body>
373</html>