blob: 790fde7cf049dba77c08ac4103d8d8d9b18f4357 [file] [log] [blame]
cristy3eaa0ef2010-03-06 20:35:26 +00001<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4<head>
5 <meta http-equiv="Content-Type" value="application/xhtml+xml" />
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
8 <style type="text/css" media="screen,projection"><!--
9 @import url("../../www/magick.css");
10 --></style>
cristy3ed852e2009-09-05 21:47:34 +000011 <link rel="shortcut icon" href="../../images/wand.ico" type="images/vnd.microsoft.icon"/>
12 <title>ImageMagick: MagickCore, C API for ImageMagick: Compare an Image to a Reconstructed Image</title>
13 <meta http-equiv="Content-Language" content="en-US"/>
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
16 <meta name="Generator" content="PHP"/>
17 <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"/>
18 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
19 <meta name="Rating" content="GENERAL"/>
20 <meta name="Robots" content="INDEX, FOLLOW"/>
21 <meta name="Generator" content="ImageMagick Studio LLC"/>
22 <meta name="Author" content="ImageMagick Studio LLC"/>
23 <meta name="Revisit-after" content="2 DAYS"/>
24 <meta name="Resource-type" content="document"/>
cristy16af1cb2009-12-11 21:38:29 +000025 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000026 <meta name="Distribution" content="Global"/>
cristy3eaa0ef2010-03-06 20:35:26 +000027</head>
28
29<body id="www-imagemagick-org">
30<div class="titlebar">
31<a href="../../index.html">
32 <img src="../../images/script.png" alt="[ImageMagick]"
33 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
34<a href="http://www.networkredux.com">
35 <img src="../../images/networkredux.png" alt="[sponsor]"
36 style="margin: 45px auto; border: 0px; float: left;" /></a>
37<a href="http://www.imagemagick.org/discourse-server/">
38 <img src="../../images/logo.jpg" alt=""
39 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
40<a href="../../index.html">
41 <img src="../../images/sprite.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43</div>
44
45<div class="eastbar">
46
cristy3ed852e2009-09-05 21:47:34 +000047<div class="menu">
48 <a href="../../index.html">About ImageMagick</a>
49</div>
cristy3eaa0ef2010-03-06 20:35:26 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
52 <a href="../../www/command-line-tools.html">Command-line Tools</a>
53</div>
54<div class="sub">
55 <a href="../../www/command-line-processing.html">Processing</a>
56</div>
57<div class="sub">
58 <a href="../../www/command-line-options.html">Options</a>
59</div>
60<div class="sub">
61 <a href="http://www.imagemagick.org/Usage/">Usage</a>
62</div>
63<div class="menu">
64 <a href="../../www/api.html">Program Interfaces</a>
65</div>
66<div class="sub">
67 <a href="../../www/magick-wand.html">MagickWand</a>
68</div>
69<div class="sub">
70 <a href="../../www/magick-core.html">MagickCore</a>
71</div>
72<div class="sub">
73 <a href="../../www/perl-magick.html">PerlMagick</a>
74</div>
75<div class="sub">
76 <a href="../../Magick++/">Magick++</a>
77</div>
78<div class="menu">
79 <a href="../../www/architecture.html">Architecture</a>
80</div>
cristy3eaa0ef2010-03-06 20:35:26 +000081<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000082<div class="menu">
83 <a href="../../www/install-source.html">Install from Source</a>
84</div>
85<div class="sub">
86 <a href="../../www/install-source.html#unix">Unix</a>
87</div>
88<div class="sub">
89 <a href="../../www/install-source.html#windows">Windows</a>
90 </div>
91<div class="menu">
92 <a href="../../www/binary-releases.html">Binary Releases</a>
93</div>
94<div class="sub">
95 <a href="../../www/binary-releases.html#unix">Unix</a>
96</div>
97<div class="sub">
98 <a href="../../www/binary-releases.html#macosx">Mac OS X</a>
99</div>
100<div class="sub">
101 <a href="../../www/binary-releases.html#windows">Windows</a>
102</div>
103<div class="menu">
104 <a href="../../www/resources.html">Resources</a>
105</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000106<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
108 <a href="../../www/download.html">Download</a>
109</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
112 <a href="../http://www.imagemagick.org/script/search.php">Search</a>
113</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
116 <a href="../../www/sitemap.html">Site Map</a>
117</div>
118<div class="sub">
119 <a href="../../www/links.html">Links</a>
120</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
123 <a href="../../www/sponsors.html">Sponsors:</a>
124
125<div class="sponsbox">
126<div class="sponsor">
cristy5e6c2fe2010-03-20 20:36:58 +0000127 <a href="http://www.geschenke-elsen.de/" title="Lampe Berger">Lampe Berger</a><!-- 20106101000040 -->
128</div>
129<div class="sponsor">
cristy8f900122010-03-05 15:26:31 +0000130 <a href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
131</div>
132<div class="sponsor">
cristy1f9e1ed2009-11-18 04:09:38 +0000133 <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
134</div>
135<div class="sponsor">
cristycdbe2742010-02-07 19:30:44 +0000136 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
cristyc1c61662009-09-30 14:04:37 +0000137</div>
138<div class="sponsor">
cristy0f61e612009-11-10 20:03:57 +0000139 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristy916e1922009-10-01 12:52:47 +0000140</div>
141<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000142 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
143</div>
144<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000145 <a href="http://www.goyax.de">Börse</a><!-- 201004010240 Gewiese digital-finance.de -->
cristy3ed852e2009-09-05 21:47:34 +0000146</div>
147<div class="sponsor">
cristy16ff93c2010-01-13 23:18:07 +0000148 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000149</div>
cristy3ed852e2009-09-05 21:47:34 +0000150</div>
151</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000152
153
154</div>
155
156<div class="main">
157
cristy3ed852e2009-09-05 21:47:34 +0000158<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>
159
160<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
161_8c.html" target="source" name="CompareImageChannels">CompareImageChannels</a></h2>
162<div class="doc-section">
163
164<p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p></ol>
165
166<p>The format of the CompareImageChannels method is:</p>
167
168<pre class="code">
169 Image *CompareImageChannels(const Image *image,
170 const Image *reconstruct_image,const ChannelType channel,
171 const MetricType metric,double *distortion,ExceptionInfo *exception)
172</pre>
173
174<p>A description of each parameter follows:</p></ol>
175
176<h5>image</h5>
177<ol><p>the image.</p></ol>
178
179<h5>reconstruct_image</h5>
180<ol><p>the reconstruct image.</p></ol>
181
182<h5>channel</h5>
183<ol><p>the channel.</p></ol>
184
185<h5>metric</h5>
186<ol><p>the metric.</p></ol>
187
188<h5>distortion</h5>
189<ol><p>the computed distortion between the images.</p></ol>
190
191<h5>exception</h5>
192<ol><p>return any errors or warnings in this structure.</p></ol>
193
194 </div>
195<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
196_8c.html" target="source" name="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
197<div class="doc-section">
198
199<p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p></ol>
200
201<p>The format of the CompareImageChannels method is:</p>
202
203<pre class="code">
204 MagickBooleanType GetImageChannelDistortion(const Image *image,
205 const Image *reconstruct_image,const ChannelType channel,
206 const MetricType metric,double *distortion,ExceptionInfo *exception)
207</pre>
208
209<p>A description of each parameter follows:</p></ol>
210
211<h5>image</h5>
212<ol><p>the image.</p></ol>
213
214<h5>reconstruct_image</h5>
215<ol><p>the reconstruct image.</p></ol>
216
217<h5>channel</h5>
218<ol><p>the channel.</p></ol>
219
220<h5>metric</h5>
221<ol><p>the metric.</p></ol>
222
223<h5>distortion</h5>
224<ol><p>the computed distortion between the images.</p></ol>
225
226<h5>exception</h5>
227<ol><p>return any errors or warnings in this structure.</p></ol>
228
229 </div>
230<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
231_8c.html" target="source" name="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
232<div class="doc-section">
233
234<p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p></ol>
235
236<p>The format of the CompareImageChannels method is:</p>
237
238<pre class="code">
239 double *GetImageChannelDistortions(const Image *image,
240 const Image *reconstruct_image,const MetricType metric,
241 ExceptionInfo *exception)
242</pre>
243
244<p>A description of each parameter follows:</p></ol>
245
246<h5>image</h5>
247<ol><p>the image.</p></ol>
248
249<h5>reconstruct_image</h5>
250<ol><p>the reconstruct image.</p></ol>
251
252<h5>metric</h5>
253<ol><p>the metric.</p></ol>
254
255<h5>exception</h5>
256<ol><p>return any errors or warnings in this structure.</p></ol>
257
258 </div>
259<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
260_8c.html" target="source" name="IsImagesEqual">IsImagesEqual</a></h2>
261<div class="doc-section">
262
263<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>
264
265<pre class="text">
266 o mean_error_per_pixel: The mean error for any single pixel in
267 the image.
268</pre>
269
270<h5>normalized_mean_error</h5>
271<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>
272
273<h5>normalized_maximum_error</h5>
274<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>
275
276<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>
277
278<p>The format of the IsImagesEqual method is:</p>
279
280<pre class="code">
281 MagickBooleanType IsImagesEqual(Image *image,
282 const Image *reconstruct_image)
283</pre>
284
285<p>A description of each parameter follows.</p></ol>
286
287<h5>image</h5>
288<ol><p>the image.</p></ol>
289
290<h5>reconstruct_image</h5>
291<ol><p>the reconstruct image.</p></ol>
292
293 </div>
294<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
295_8c.html" target="source" name="SimilarityImage">SimilarityImage</a></h2>
296<div class="doc-section">
297
298<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>
299
300<p>The format of the SimilarityImageImage method is:</p>
301
302<pre class="code">
303 Image *SimilarityImage(const Image *image,const Image *reference,
304 RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
305</pre>
306
307<p>A description of each parameter follows:</p></ol>
308
309<h5>image</h5>
310<ol><p>the image.</p></ol>
311
312<h5>reference</h5>
313<ol><p>find an area of the image that closely resembles this image.</p></ol>
314
315<p>o the best match offset of the reference image within the image.</p></ol>
316
317<h5>similarity</h5>
318<ol><p>the computed similarity between the images.</p></ol>
319
320<h5>exception</h5>
321<ol><p>return any errors or warnings in this structure.</p></ol>
322
323 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000324
325</div>
326
327<div id="linkbar">
328 <!-- <span id="linkbar-west">&nbsp;</span> -->
329 <span id="linkbar-center">
330 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristy5e6c2fe2010-03-20 20:36:58 +0000331 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000332 </span>
333 <span id="linkbar-east">&nbsp;</span>
334 </div>
335 <div class="footer">
336 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
337 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
338 </div>
339 <div style="clear: both; margin: 0; width: 100%; "></div>
340</body>
341</html>