blob: 20ed53596773b6168605538c2422a90e71a03615 [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">
cristy2c839602010-04-03 02:32:08 +00003<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
cristy3eaa0ef2010-03-06 20:35:26 +00004<head>
cristy3de29cc2010-04-15 02:34:44 +00005 <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
cristy3eaa0ef2010-03-06 20:35:26 +00006 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U=" />
7 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf" />
cristy3de29cc2010-04-15 02:34:44 +00008 <style type="text/css" media="all">
cristy3eaa0ef2010-03-06 20:35:26 +00009 @import url("../../www/magick.css");
cristy3de29cc2010-04-15 02:34:44 +000010 </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">
cristy83a272e2010-05-07 20:40:35 +000048 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000049</div>
cristy3eaa0ef2010-03-06 20:35:26 +000050<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000051<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000052 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000053</div>
54<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000055 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000056</div>
57<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000058 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000059</div>
60<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000061 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000062</div>
63<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000064 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000065</div>
66<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000067 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000068</div>
69<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000070 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +000071</div>
72<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000073 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000074</div>
75<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000076 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +000077</div>
78<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000079 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
cristy3ed852e2009-09-05 21:47:34 +000080</div>
cristy3eaa0ef2010-03-06 20:35:26 +000081<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000082<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +000090 </div>
91<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000092 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
cristy3ed852e2009-09-05 21:47:34 +000093</div>
94<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000095 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +000096</div>
97<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000098 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
cristy3ed852e2009-09-05 21:47:34 +000099</div>
100<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000101 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000102</div>
103<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000104 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000105</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000106<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000107<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000108 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000109</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000110<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000111<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000112 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000113</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000114<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000115<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000116 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000117</div>
118<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Site Map: Links"href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000120</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000121<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000122<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000123 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000124
125<div class="sponsbox">
126<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000127 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy5e6c2fe2010-03-20 20:36:58 +0000128</div>
129<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000130 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristy8f900122010-03-05 15:26:31 +0000131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy1f9e1ed2009-11-18 04:09:38 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: Kredit" href="http://www.online-kredit-index.de">Kredit</a><!-- 201007010120 Buchhorn -->
cristyc1c61662009-09-30 14:04:37 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy916e1922009-10-01 12:52:47 +0000140</div>
141<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000142 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
cristy3ed852e2009-09-05 21:47:34 +0000144</div>
145</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000146
147
148</div>
149
150<div class="main">
151
cristy3ed852e2009-09-05 21:47:34 +0000152<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>
153
154<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
155_8c.html" target="source" name="CompareImageChannels">CompareImageChannels</a></h2>
156<div class="doc-section">
157
158<p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p></ol>
159
160<p>The format of the CompareImageChannels method is:</p>
161
162<pre class="code">
163 Image *CompareImageChannels(const Image *image,
164 const Image *reconstruct_image,const ChannelType channel,
165 const MetricType metric,double *distortion,ExceptionInfo *exception)
166</pre>
167
168<p>A description of each parameter follows:</p></ol>
169
170<h5>image</h5>
171<ol><p>the image.</p></ol>
172
173<h5>reconstruct_image</h5>
174<ol><p>the reconstruct image.</p></ol>
175
176<h5>channel</h5>
177<ol><p>the channel.</p></ol>
178
179<h5>metric</h5>
180<ol><p>the metric.</p></ol>
181
182<h5>distortion</h5>
183<ol><p>the computed distortion between the images.</p></ol>
184
185<h5>exception</h5>
186<ol><p>return any errors or warnings in this structure.</p></ol>
187
188 </div>
189<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
190_8c.html" target="source" name="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
191<div class="doc-section">
192
193<p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p></ol>
194
195<p>The format of the CompareImageChannels method is:</p>
196
197<pre class="code">
198 MagickBooleanType GetImageChannelDistortion(const Image *image,
199 const Image *reconstruct_image,const ChannelType channel,
200 const MetricType metric,double *distortion,ExceptionInfo *exception)
201</pre>
202
203<p>A description of each parameter follows:</p></ol>
204
205<h5>image</h5>
206<ol><p>the image.</p></ol>
207
208<h5>reconstruct_image</h5>
209<ol><p>the reconstruct image.</p></ol>
210
211<h5>channel</h5>
212<ol><p>the channel.</p></ol>
213
214<h5>metric</h5>
215<ol><p>the metric.</p></ol>
216
217<h5>distortion</h5>
218<ol><p>the computed distortion between the images.</p></ol>
219
220<h5>exception</h5>
221<ol><p>return any errors or warnings in this structure.</p></ol>
222
223 </div>
224<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
225_8c.html" target="source" name="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
226<div class="doc-section">
227
228<p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p></ol>
229
230<p>The format of the CompareImageChannels method is:</p>
231
232<pre class="code">
233 double *GetImageChannelDistortions(const Image *image,
234 const Image *reconstruct_image,const MetricType metric,
235 ExceptionInfo *exception)
236</pre>
237
238<p>A description of each parameter follows:</p></ol>
239
240<h5>image</h5>
241<ol><p>the image.</p></ol>
242
243<h5>reconstruct_image</h5>
244<ol><p>the reconstruct image.</p></ol>
245
246<h5>metric</h5>
247<ol><p>the metric.</p></ol>
248
249<h5>exception</h5>
250<ol><p>return any errors or warnings in this structure.</p></ol>
251
252 </div>
253<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
254_8c.html" target="source" name="IsImagesEqual">IsImagesEqual</a></h2>
255<div class="doc-section">
256
257<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>
258
259<pre class="text">
260 o mean_error_per_pixel: The mean error for any single pixel in
261 the image.
262</pre>
263
264<h5>normalized_mean_error</h5>
265<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>
266
267<h5>normalized_maximum_error</h5>
268<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>
269
270<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>
271
272<p>The format of the IsImagesEqual method is:</p>
273
274<pre class="code">
275 MagickBooleanType IsImagesEqual(Image *image,
276 const Image *reconstruct_image)
277</pre>
278
279<p>A description of each parameter follows.</p></ol>
280
281<h5>image</h5>
282<ol><p>the image.</p></ol>
283
284<h5>reconstruct_image</h5>
285<ol><p>the reconstruct image.</p></ol>
286
287 </div>
288<h2><a href="http://www.imagemagick.org/api/MagickCore/compare
289_8c.html" target="source" name="SimilarityImage">SimilarityImage</a></h2>
290<div class="doc-section">
291
292<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>
293
294<p>The format of the SimilarityImageImage method is:</p>
295
296<pre class="code">
297 Image *SimilarityImage(const Image *image,const Image *reference,
298 RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
299</pre>
300
301<p>A description of each parameter follows:</p></ol>
302
303<h5>image</h5>
304<ol><p>the image.</p></ol>
305
306<h5>reference</h5>
307<ol><p>find an area of the image that closely resembles this image.</p></ol>
308
309<p>o the best match offset of the reference image within the image.</p></ol>
310
311<h5>similarity</h5>
312<ol><p>the computed similarity between the images.</p></ol>
313
314<h5>exception</h5>
315<ol><p>return any errors or warnings in this structure.</p></ol>
316
317 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000318
319</div>
320
321<div id="linkbar">
322 <!-- <span id="linkbar-west">&nbsp;</span> -->
323 <span id="linkbar-center">
324 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristybebec402010-04-23 19:19:08 +0000325 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000326 </span>
327 <span id="linkbar-east">&nbsp;</span>
328 </div>
329 <div class="footer">
330 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
331 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
332 </div>
333 <div style="clear: both; margin: 0; width: 100%; "></div>
334</body>
335</html>