]> granicus.if.org Git - imagemagick/blob - www/api/compare.html
(no commit message)
[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: Atlas Multimedia" href="http://www.atlas-multimedia.de/">Atlas Multimedia</a><!-- 20101201000025 tanju.temurbas-->
131 </div>
132 <div  class="sponsor">
133   <a title="Sponsor: Druckerei" href="http://print24.com/de/">Druckerei</a><!-- 201110010720 -->
134 </div>
135 <div  class="sponsor">
136   <a title="Sponsor: Image Converter" href="http://www.batchphoto.com">Image Converter</a><!-- 201103010900 Bits Coffee-->
137 </div>
138 <div  class="sponsor">
139   <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
140 </div>
141 <div  class="sponsor">
142   <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
143 </div>
144 <div  class="sponsor">
145   <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
146 </div>
147 <div  class="sponsor">
148   <a title="Sponsor: Diamonds are a Girls Best Friend" href="http://www.schmuck.org">Diamonds are a Girls Best Friend</a><!-- 201101010600 Peterssen-->
149 </div>
150 <div  class="sponsor">
151    <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
152 </div>
153 </div>
154 </div>
155 </div>\r
156 \r
157 <div class="eastbar">\r
158   <script type="text/javascript">\r
159   <!--\r
160     google_ad_client = "pub-3129977114552745";\r
161     google_ad_slot = "0574824969";\r
162     google_ad_width = 160;\r
163     google_ad_height = 600;\r
164   //-->\r
165   </script>\r
166   <script type="text/javascript"\r
167     src="http://pagead2.googlesyndication.com/pagead/show_ads.js">\r
168   </script>\r
169 </div>\r
170 \r
171 <div class="main">\r
172 \r
173 <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>
174
175 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
176 _8c.html" target="source" name="CompareImageChannels">CompareImageChannels</a></h2>
177 <div class="doc-section">
178
179 <p>CompareImageChannels() compares one or more image channels of an image to a reconstructed image and returns the difference image.</p></ol>
180
181 <p>The format of the CompareImageChannels method is:</p>
182
183 <pre class="code">
184   Image *CompareImageChannels(const Image *image,
185     const Image *reconstruct_image,const ChannelType channel,
186     const MetricType metric,double *distortion,ExceptionInfo *exception)
187 </pre>
188
189 <p>A description of each parameter follows:</p></ol>
190
191 <h5>image</h5>
192 <ol><p>the image.</p></ol>
193
194 <h5>reconstruct_image</h5>
195 <ol><p>the reconstruct image.</p></ol>
196
197 <h5>channel</h5>
198 <ol><p>the channel.</p></ol>
199
200 <h5>metric</h5>
201 <ol><p>the metric.</p></ol>
202
203 <h5>distortion</h5>
204 <ol><p>the computed distortion between the images.</p></ol>
205
206 <h5>exception</h5>
207 <ol><p>return any errors or warnings in this structure.</p></ol>
208
209  </div>
210 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
211 _8c.html" target="source" name="GetImageChannelDistortion">GetImageChannelDistortion</a></h2>
212 <div class="doc-section">
213
214 <p>GetImageChannelDistortion() compares one or more image channels of an image to a reconstructed image and returns the specified distortion metric.</p></ol>
215
216 <p>The format of the CompareImageChannels method is:</p>
217
218 <pre class="code">
219   MagickBooleanType GetImageChannelDistortion(const Image *image,
220     const Image *reconstruct_image,const ChannelType channel,
221     const MetricType metric,double *distortion,ExceptionInfo *exception)
222 </pre>
223
224 <p>A description of each parameter follows:</p></ol>
225
226 <h5>image</h5>
227 <ol><p>the image.</p></ol>
228
229 <h5>reconstruct_image</h5>
230 <ol><p>the reconstruct image.</p></ol>
231
232 <h5>channel</h5>
233 <ol><p>the channel.</p></ol>
234
235 <h5>metric</h5>
236 <ol><p>the metric.</p></ol>
237
238 <h5>distortion</h5>
239 <ol><p>the computed distortion between the images.</p></ol>
240
241 <h5>exception</h5>
242 <ol><p>return any errors or warnings in this structure.</p></ol>
243
244  </div>
245 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
246 _8c.html" target="source" name="GetImageChannelDistrortion">GetImageChannelDistrortion</a></h2>
247 <div class="doc-section">
248
249 <p>GetImageChannelDistrortion() compares the image channels of an image to a reconstructed image and returns the specified distortion metric for each channel.</p></ol>
250
251 <p>The format of the CompareImageChannels method is:</p>
252
253 <pre class="code">
254   double *GetImageChannelDistortions(const Image *image,
255     const Image *reconstruct_image,const MetricType metric,
256     ExceptionInfo *exception)
257 </pre>
258
259 <p>A description of each parameter follows:</p></ol>
260
261 <h5>image</h5>
262 <ol><p>the image.</p></ol>
263
264 <h5>reconstruct_image</h5>
265 <ol><p>the reconstruct image.</p></ol>
266
267 <h5>metric</h5>
268 <ol><p>the metric.</p></ol>
269
270 <h5>exception</h5>
271 <ol><p>return any errors or warnings in this structure.</p></ol>
272
273  </div>
274 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
275 _8c.html" target="source" name="IsImagesEqual">IsImagesEqual</a></h2>
276 <div class="doc-section">
277
278 <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>
279
280 <pre class="text">
281       o mean_error_per_pixel:  The mean error for any single pixel in
282   the image.
283 </pre>
284
285 <h5>normalized_mean_error</h5>
286 <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>
287
288 <h5>normalized_maximum_error</h5>
289 <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>
290
291 <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>
292
293 <p>The format of the IsImagesEqual method is:</p>
294
295 <pre class="code">
296   MagickBooleanType IsImagesEqual(Image *image,
297     const Image *reconstruct_image)
298 </pre>
299
300 <p>A description of each parameter follows.</p></ol>
301
302 <h5>image</h5>
303 <ol><p>the image.</p></ol>
304
305 <h5>reconstruct_image</h5>
306 <ol><p>the reconstruct image.</p></ol>
307
308  </div>
309 <h2><a href="http://www.imagemagick.org/api/MagickCore/compare
310 _8c.html" target="source" name="SimilarityImage">SimilarityImage</a></h2>
311 <div class="doc-section">
312
313 <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>
314
315 <p>The format of the SimilarityImageImage method is:</p>
316
317 <pre class="code">
318   Image *SimilarityImage(const Image *image,const Image *reference,
319     RectangleInfo *offset,double *similarity,ExceptionInfo *exception)
320 </pre>
321
322 <p>A description of each parameter follows:</p></ol>
323
324 <h5>image</h5>
325 <ol><p>the image.</p></ol>
326
327 <h5>reference</h5>
328 <ol><p>find an area of the image that closely resembles this image.</p></ol>
329
330 <p>o the best match offset of the reference image within the image.</p></ol>
331
332 <h5>similarity</h5>
333 <ol><p>the computed similarity between the images.</p></ol>
334
335 <h5>exception</h5>
336 <ol><p>return any errors or warnings in this structure.</p></ol>
337
338  </div>
339 \r
340 </div>\r
341 \r
342 <div id="linkbar">\r
343     <span id="linkbar-west">&nbsp;</span>\r
344     <span id="linkbar-center">\r
345       <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;\r
346       <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>\r
347     </span>\r
348     <span id="linkbar-east">&nbsp;</span>\r
349   </div>\r
350   <div class="footer">\r
351     <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>\r
352     <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>\r
353   </div>\r
354   <div style="clear: both; margin: 0; width: 100%; "></div>\r
355   <script type="text/javascript">\r
356     var _gaq = _gaq || [];\r
357     _gaq.push(['_setAccount', 'UA-17690367-1']);\r
358     _gaq.push(['_trackPageview']);\r
359 \r
360     (function() {\r
361       var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\r
362       ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\r
363       var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\r
364     })();\r
365   </script>\r
366 </body>\r
367 </html>\r