]> granicus.if.org Git - imagemagick/blob - www/api/compare.html
831e1c9c8a4e9ee9aaa5692659189eb1f676fcdd
[imagemagick] / www / api / compare.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"\r
2     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" 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, 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."/>
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-2010 ImageMagick Studio LLC"/>
23   <meta name="Distribution" content="Global"/>
24   <link rel="icon" href="../../images/wand.png"  sizes="32x32"/>
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   <style type="text/css" media="all">\r
28     @import url("../../www/magick.css");\r
29   </style>\r
30 </head>\r
31 \r
32 <body id="www-imagemagick-org">\r
33 <div class="titlebar">\r
34 <a href="../../index.html">\r
35   <img src="../../images/script.png" alt="[ImageMagick]"\r
36   style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>\r
37 <a href="http://www.networkredux.com">\r
38   <img src="../../images/networkredux.png" alt="[sponsor]"\r
39   style="margin: 45px auto; border: 0px; float: left;" /></a>\r
40 <a href="http://www.imagemagick.org/discourse-server/">\r
41   <img src="../../images/logo.jpg" alt=""\r
42   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
43 <a href="../../index.html">\r
44   <img src="../../images/sprite.jpg" alt=""\r
45   style="width: 114px; height: 118px; border: 0px; float: right;" /></a>\r
46 </div>\r
47 \r
48 <div class="westbar">\r
49 \r
50 <div class="menu">
51   <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
52 </div>
53 <div class="sep"></div>\r
54 <div class="menu">
55   <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
56 </div>
57 <div class="sub">
58     <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
59 </div>
60 <div class="sub">
61     <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
62 </div>
63 <div class="sub">
64     <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
65 </div>
66 <div class="sep"></div>\r
67 <div class="menu">
68   <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
69 </div>
70 <div class="sub">
71     <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
72 </div>
73 <div class="sub">
74     <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
75 </div>
76 <div class="sub">
77     <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
78 </div>
79 <div class="menu">
80   <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
81 </div>
82 <div class="sub">
83     <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
84 </div>
85 <div class="sub">
86     <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
87 </div>
88 <div class="sub">
89     <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
90 </div>
91 <div class="sub">
92     <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
93 </div>
94 <div class="sep"></div>\r
95 <div  class="menu">
96    <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
97 </div>
98 <div class="sub">
99     <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
100 </div>
101 <div class="sub">
102     <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
103  </div>
104 <div class="menu">
105   <a title="Resources" href="../../www/resources.html">Resources</a>
106 </div>
107 <div class="menu">
108   <a title="Architecture" href="../../www/architecture.html">Architecture</a>
109 </div>
110 <div class="menu">
111   <a title="Download" href="../../www/download.html">Download</a>
112 </div>
113 <div class="sep"></div>\r
114 <div class="menu">
115   <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
116 </div>
117 <div class="sep"></div>\r
118 <div class="menu">
119   <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
120 </div>
121 <div  class="sub">
122     <a title="Site Map: Links"href="../../www/links.html">Links</a>
123 </div>
124 <div class="sep"></div>\r
125 <div  class="menu">
126   <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
127
128 <div class="sponsbox">
129 <div  class="sponsor">
130   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
131 </div>
132 <div  class="sponsor">
133   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
134 </div>
135 <div  class="sponsor">
136   <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
137 </div>
138 <div  class="sponsor">
139   <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
140 </div>
141 <div  class="sponsor">
142   <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
143 </div>
144 <div  class="sponsor">
145    <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
146 </div>
147 <div  class="sponsor">
148    <a title="Sponsor: Atlas Multimedia" href="http://www.atlas-multimedia.de/">Atlas Multimedia</a><!-- 20101201000025 tanju.temurbas-->
149 </div>
150 </div>
151 </div>
152 </div>\r
153 \r
154 <div class="eastbar">\r
155   <script type="text/javascript">\r
156   <!--\r
157     google_ad_client = "pub-3129977114552745";\r
158     google_ad_slot = "0574824969";\r
159     google_ad_width = 160;\r
160     google_ad_height = 600;\r
161   //-->\r
162   </script>\r
163   <script type="text/javascript"\r
164     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
165   </script>\r
166 </div>\r
167 \r
168 <div class="main">\r
169 \r
170 <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>
171
172 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
173 _8c.html" target="source" name="CompareImageChannels">CompareImageChannels</a></h2>
174 <div class="doc-section">
175
176 <p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p></ol>
177
178 <p>The format of the CompareImageChannels method is:</p>
179
180 <pre class="code">
181   Image *CompareImageChannels(const Image *image,
182     const Image *reconstruct_image,const ChannelType channel,
183     const MetricType metric,double *distortion,ExceptionInfo *exception)
184 </pre>
185
186 <p>A description of each parameter follows:</p></ol>
187
188 <h5>image</h5>
189 <ol><p>the image.</p></ol>
190
191 <h5>reconstruct_image</h5>
192 <ol><p>the reconstruct image.</p></ol>
193
194 <h5>channel</h5>
195 <ol><p>the channel.</p></ol>
196
197 <h5>metric</h5>
198 <ol><p>the metric.</p></ol>
199
200 <h5>distortion</h5>
201 <ol><p>the computed distortion between the images.</p></ol>
202
203 <h5>exception</h5>
204 <ol><p>return any errors or warnings in this structure.</p></ol>
205
206  </div>
207 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
208 _8c.html" target="source" name="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
209 <div class="doc-section">
210
211 <p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p></ol>
212
213 <p>The format of the CompareImageChannels method is:</p>
214
215 <pre class="code">
216   MagickBooleanType GetImageChannelDistortion(const Image *image,
217     const Image *reconstruct_image,const ChannelType channel,
218     const MetricType metric,double *distortion,ExceptionInfo *exception)
219 </pre>
220
221 <p>A description of each parameter follows:</p></ol>
222
223 <h5>image</h5>
224 <ol><p>the image.</p></ol>
225
226 <h5>reconstruct_image</h5>
227 <ol><p>the reconstruct image.</p></ol>
228
229 <h5>channel</h5>
230 <ol><p>the channel.</p></ol>
231
232 <h5>metric</h5>
233 <ol><p>the metric.</p></ol>
234
235 <h5>distortion</h5>
236 <ol><p>the computed distortion between the images.</p></ol>
237
238 <h5>exception</h5>
239 <ol><p>return any errors or warnings in this structure.</p></ol>
240
241  </div>
242 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
243 _8c.html" target="source" name="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
244 <div class="doc-section">
245
246 <p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p></ol>
247
248 <p>The format of the CompareImageChannels method is:</p>
249
250 <pre class="code">
251   double *GetImageChannelDistortions(const Image *image,
252     const Image *reconstruct_image,const MetricType metric,
253     ExceptionInfo *exception)
254 </pre>
255
256 <p>A description of each parameter follows:</p></ol>
257
258 <h5>image</h5>
259 <ol><p>the image.</p></ol>
260
261 <h5>reconstruct_image</h5>
262 <ol><p>the reconstruct image.</p></ol>
263
264 <h5>metric</h5>
265 <ol><p>the metric.</p></ol>
266
267 <h5>exception</h5>
268 <ol><p>return any errors or warnings in this structure.</p></ol>
269
270  </div>
271 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
272 _8c.html" target="source" name="IsImagesEqual">IsImagesEqual</a></h2>
273 <div class="doc-section">
274
275 <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>
276
277 <pre class="text">
278       o mean_error_per_pixel:  The mean error for any single pixel in
279   the image.
280 </pre>
281
282 <h5>normalized_mean_error</h5>
283 <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>
284
285 <h5>normalized_maximum_error</h5>
286 <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>
287
288 <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>
289
290 <p>The format of the IsImagesEqual method is:</p>
291
292 <pre class="code">
293   MagickBooleanType IsImagesEqual(Image *image,
294     const Image *reconstruct_image)
295 </pre>
296
297 <p>A description of each parameter follows.</p></ol>
298
299 <h5>image</h5>
300 <ol><p>the image.</p></ol>
301
302 <h5>reconstruct_image</h5>
303 <ol><p>the reconstruct image.</p></ol>
304
305  </div>
306 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
307 _8c.html" target="source" name="SimilarityImage">SimilarityImage</a></h2>
308 <div class="doc-section">
309
310 <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>
311
312 <p>The format of the SimilarityImageImage method is:</p>
313
314 <pre class="code">
315   Image *SimilarityImage(const Image *image,const Image *reference,
316     RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
317 </pre>
318
319 <p>A description of each parameter follows:</p></ol>
320
321 <h5>image</h5>
322 <ol><p>the image.</p></ol>
323
324 <h5>reference</h5>
325 <ol><p>find an area of the image that closely resembles this image.</p></ol>
326
327 <p>o the best match offset of the reference image within the image.</p></ol>
328
329 <h5>similarity</h5>
330 <ol><p>the computed similarity between the images.</p></ol>
331
332 <h5>exception</h5>
333 <ol><p>return any errors or warnings in this structure.</p></ol>
334
335  </div>
336 \r
337 </div>\r
338 \r
339 <div id="linkbar">\r
340     <span id="linkbar-west">&nbsp;</span>\r
341     <span id="linkbar-center">\r
342       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
343       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
344     </span>\r
345     <span id="linkbar-east">&nbsp;</span>\r
346   </div>\r
347   <div class="footer">\r
348     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
349     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
350   </div>\r
351   <div style="clear: both; margin: 0; width: 100%; "></div>\r
352   <script type="text/javascript">\r
353     var _gaq = _gaq || [];\r
354     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
355     _gaq.push(['_trackPageview']);\r
356 \r
357     (function() {\r
358       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
359       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
360       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
361     })();\r
362   </script>\r
363 </body>\r
364 </html>\r