blob: 1493e91f009736bcd34de7f3f325937dc7c35275 [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: Add an Effect</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:, add, an, effect, 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
cristyce69bb02010-07-27 19:49:46 +000045<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000046
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">
cristybb503372010-05-27 20:51:26 +000052 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
53</div>
54<div class="sub">
55 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
62</div>
63<div class="sep"></div>
64<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000065 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</a>
cristy3ed852e2009-09-05 21:47:34 +000066</div>
67<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000068 <a title="Command-line Tools: Processing" href="../../www/command-line-processing.html">Processing</a>
cristy3ed852e2009-09-05 21:47:34 +000069</div>
70<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000071 <a title="Command-line Tools: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000072</div>
73<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000074 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000075</div>
76<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000077 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000078</div>
79<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000080 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000081</div>
82<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +000090</div>
cristy3eaa0ef2010-03-06 20:35:26 +000091<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000092<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000093 <a title="Install from Source" href="../../www/install-source.html">Install from Source</a>
cristy3ed852e2009-09-05 21:47:34 +000094</div>
95<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Install from Source: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +000097</div>
98<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000099 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000100 </div>
101<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000103</div>
cristybb503372010-05-27 20:51:26 +0000104<div class="menu">
105 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
106</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-->
cristy9b5852d2010-03-08 18:18:01 +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: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy916e1922009-10-01 12:52:47 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristyc49f7992009-09-22 22:48:40 +0000140</div>
141<div class="sponsor">
cristya8902942010-07-30 00:49:52 +0000142 <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
cristy3ed852e2009-09-05 21:47:34 +0000143</div>
cristy3ed852e2009-09-05 21:47:34 +0000144</div>
145</div>
cristyce69bb02010-07-27 19:49:46 +0000146</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000147
cristyce69bb02010-07-27 19:49:46 +0000148<div class="eastbar">
149 <script type="text/javascript">
150 <!--
151 google_ad_client = "pub-3129977114552745";
152 /* 160x600, created 7/27/10 */
153 google_ad_slot = "0574824969";
154 google_ad_width = 160;
155 google_ad_height = 600;
156 //-->
157 </script>
158 <script type="text/javascript"
159 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
160 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000161</div>
162
163<div class="main">
164
cristy16ff93c2010-01-13 23:18:07 +0000165<p class="navigation-index">[<a href="#AdaptiveBlurImage">AdaptiveBlurImage</a> &bull; <a href="#AdaptiveSharpenImage">AdaptiveSharpenImage</a> &bull; <a href="#BlurImage">BlurImage</a> &bull; <a href="#ConvolveImage">ConvolveImage</a> &bull; <a href="#DespeckleImage">DespeckleImage</a> &bull; <a href="#EdgeImage">EdgeImage</a> &bull; <a href="#EmbossImage">EmbossImage</a> &bull; <a href="#FilterImage">FilterImage</a> &bull; <a href="#GaussianBlurImage">GaussianBlurImage</a> &bull; <a href="#MedianFilterImage">MedianFilterImage</a> &bull; <a href="#MotionBlurImage">MotionBlurImage</a> &bull; <a href="#PreviewImage">PreviewImage</a> &bull; <a href="#RadialBlurImage">RadialBlurImage</a> &bull; <a href="#ReduceNoiseImage">ReduceNoiseImage</a> &bull; <a href="#SelectiveBlurImage">SelectiveBlurImage</a> &bull; <a href="#ShadeImage">ShadeImage</a> &bull; <a href="#SharpenImage">SharpenImage</a> &bull; <a href="#SpreadImage">SpreadImage</a> &bull; <a href="#UnsharpMaskImage">UnsharpMaskImage</a>]</p>
cristy3ed852e2009-09-05 21:47:34 +0000166
167<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
168_8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
169<div class="doc-section">
170
171<p>AdaptiveBlurImage() adaptively blurs the image by blurring less intensely near image edges and more intensely far from edges. We blur the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and AdaptiveBlurImage() selects a suitable radius for you.</p></ol>
172
173<p>The format of the AdaptiveBlurImage method is:</p>
174
175<pre class="code">
176 Image *AdaptiveBlurImage(const Image *image,const double radius,
177 const double sigma,ExceptionInfo *exception)
178 Image *AdaptiveBlurImageChannel(const Image *image,
179 const ChannelType channel,double radius,const double sigma,
180 ExceptionInfo *exception)
181</pre>
182
183<p>A description of each parameter follows:</p></ol>
184
185<h5>image</h5>
186<ol><p>the image.</p></ol>
187
188<h5>channel</h5>
189<ol><p>the channel type.</p></ol>
190
191<h5>radius</h5>
192<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
193
194<h5>sigma</h5>
195<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
196
197<h5>exception</h5>
198<ol><p>return any errors or warnings in this structure.</p></ol>
199
200 </div>
201<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
202_8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
203<div class="doc-section">
204
205<p>AdaptiveSharpenImage() adaptively sharpens the image by sharpening more intensely near image edges and less intensely far from edges. We sharpen the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and AdaptiveSharpenImage() selects a suitable radius for you.</p></ol>
206
207<p>The format of the AdaptiveSharpenImage method is:</p>
208
209<pre class="code">
210 Image *AdaptiveSharpenImage(const Image *image,const double radius,
211 const double sigma,ExceptionInfo *exception)
212 Image *AdaptiveSharpenImageChannel(const Image *image,
213 const ChannelType channel,double radius,const double sigma,
214 ExceptionInfo *exception)
215</pre>
216
217<p>A description of each parameter follows:</p></ol>
218
219<h5>image</h5>
220<ol><p>the image.</p></ol>
221
222<h5>channel</h5>
223<ol><p>the channel type.</p></ol>
224
225<h5>radius</h5>
226<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
227
228<h5>sigma</h5>
229<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
230
231<h5>exception</h5>
232<ol><p>return any errors or warnings in this structure.</p></ol>
233
234 </div>
235<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
236_8c.html" target="source" name="BlurImage">BlurImage</a></h2>
237<div class="doc-section">
238
239<p>BlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and BlurImage() selects a suitable radius for you.</p></ol>
240
241<p>BlurImage() differs from GaussianBlurImage() in that it uses a separable kernel which is faster but mathematically equivalent to the non-separable kernel.</p></ol>
242
243<p>The format of the BlurImage method is:</p>
244
245<pre class="code">
246 Image *BlurImage(const Image *image,const double radius,
247 const double sigma,ExceptionInfo *exception)
248 Image *BlurImageChannel(const Image *image,const ChannelType channel,
249 const double radius,const double sigma,ExceptionInfo *exception)
250</pre>
251
252<p>A description of each parameter follows:</p></ol>
253
254<h5>image</h5>
255<ol><p>the image.</p></ol>
256
257<h5>channel</h5>
258<ol><p>the channel type.</p></ol>
259
260<h5>radius</h5>
261<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
262
263<h5>sigma</h5>
264<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
265
266<h5>exception</h5>
267<ol><p>return any errors or warnings in this structure.</p></ol>
268
269 </div>
270<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy6b636652009-12-05 17:16:11 +0000271_8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
272<div class="doc-section">
273
274<p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
275
276<p>The format of the ConvolveImage method is:</p>
277
278<pre class="code">
cristybb503372010-05-27 20:51:26 +0000279 Image *ConvolveImage(const Image *image,const size_t order,
cristy6b636652009-12-05 17:16:11 +0000280 const double *kernel,ExceptionInfo *exception)
281 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
cristybb503372010-05-27 20:51:26 +0000282 const size_t order,const double *kernel,
cristy6b636652009-12-05 17:16:11 +0000283 ExceptionInfo *exception)
284</pre>
285
286<p>A description of each parameter follows:</p></ol>
287
288<h5>image</h5>
289<ol><p>the image.</p></ol>
290
291<h5>channel</h5>
292<ol><p>the channel type.</p></ol>
293
294<h5>order</h5>
295<ol><p>the number of columns and rows in the filter kernel.</p></ol>
296
297<h5>kernel</h5>
298<ol><p>An array of double representing the convolution kernel.</p></ol>
299
300<h5>exception</h5>
301<ol><p>return any errors or warnings in this structure.</p></ol>
302
303 </div>
304<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy3ed852e2009-09-05 21:47:34 +0000305_8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
306<div class="doc-section">
307
308<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
309
310<p>The format of the DespeckleImage method is:</p>
311
312<pre class="code">
313 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
314</pre>
315
316<p>A description of each parameter follows:</p></ol>
317
318<h5>image</h5>
319<ol><p>the image.</p></ol>
320
321<h5>exception</h5>
322<ol><p>return any errors or warnings in this structure.</p></ol>
323
324 </div>
325<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
326_8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
327<div class="doc-section">
328
329<p>EdgeImage() finds edges in an image. Radius defines the radius of the convolution filter. Use a radius of 0 and EdgeImage() selects a suitable radius for you.</p></ol>
330
331<p>The format of the EdgeImage method is:</p>
332
333<pre class="code">
334 Image *EdgeImage(const Image *image,const double radius,
335 ExceptionInfo *exception)
336</pre>
337
338<p>A description of each parameter follows:</p></ol>
339
340<h5>image</h5>
341<ol><p>the image.</p></ol>
342
343<h5>radius</h5>
344<ol><p>the radius of the pixel neighborhood.</p></ol>
345
346<h5>exception</h5>
347<ol><p>return any errors or warnings in this structure.</p></ol>
348
349 </div>
350<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
351_8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
352<div class="doc-section">
353
354<p>EmbossImage() returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Emboss() selects a suitable radius for you.</p></ol>
355
356<p>The format of the EmbossImage method is:</p>
357
358<pre class="code">
359 Image *EmbossImage(const Image *image,const double radius,
360 const double sigma,ExceptionInfo *exception)
361</pre>
362
363<p>A description of each parameter follows:</p></ol>
364
365<h5>image</h5>
366<ol><p>the image.</p></ol>
367
368<h5>radius</h5>
369<ol><p>the radius of the pixel neighborhood.</p></ol>
370
371<h5>sigma</h5>
372<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
373
374<h5>exception</h5>
375<ol><p>return any errors or warnings in this structure.</p></ol>
376
377 </div>
378<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy16ff93c2010-01-13 23:18:07 +0000379_8c.html" target="source" name="FilterImage">FilterImage</a></h2>
380<div class="doc-section">
381
382<p>FilterImage() applies a custom convolution kernel to the image.</p></ol>
383
384<p>The format of the FilterImage method is:</p>
385
386<pre class="code">
cristy488844c2010-01-22 14:02:05 +0000387 Image *FilterImage(const Image *image,const KernelInfo *kernel,
cristy16ff93c2010-01-13 23:18:07 +0000388 ExceptionInfo *exception)
389 Image *FilterImageChannel(const Image *image,const ChannelType channel,
cristy488844c2010-01-22 14:02:05 +0000390 const KernelInfo *kernel,ExceptionInfo *exception)
cristy16ff93c2010-01-13 23:18:07 +0000391</pre>
392
393<p>A description of each parameter follows:</p></ol>
394
395<h5>image</h5>
396<ol><p>the image.</p></ol>
397
398<h5>channel</h5>
399<ol><p>the channel type.</p></ol>
400
401<h5>kernel</h5>
402<ol><p>the filtering kernel.</p></ol>
403
404<h5>exception</h5>
405<ol><p>return any errors or warnings in this structure.</p></ol>
406
407 </div>
408<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy3ed852e2009-09-05 21:47:34 +0000409_8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
410<div class="doc-section">
411
412<p>GaussianBlurImage() blurs an image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, the radius should be larger than sigma. Use a radius of 0 and GaussianBlurImage() selects a suitable radius for you</p></ol>
413
414<p>The format of the GaussianBlurImage method is:</p>
415
416<pre class="code">
417 Image *GaussianBlurImage(const Image *image,onst double radius,
418 const double sigma,ExceptionInfo *exception)
419 Image *GaussianBlurImageChannel(const Image *image,
420 const ChannelType channel,const double radius,const double sigma,
421 ExceptionInfo *exception)
422</pre>
423
424<p>A description of each parameter follows:</p></ol>
425
426<h5>image</h5>
427<ol><p>the image.</p></ol>
428
429<h5>channel</h5>
430<ol><p>the channel type.</p></ol>
431
432<h5>radius</h5>
433<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
434
435<h5>sigma</h5>
436<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
437
438<h5>exception</h5>
439<ol><p>return any errors or warnings in this structure.</p></ol>
440
441 </div>
442<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
443_8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
444<div class="doc-section">
445
446<p>MedianFilterImage() applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.</p></ol>
447
448<p>The algorithm was contributed by Mike Edmonds and implements an insertion sort for selecting median color-channel values. For more on this algorithm see "Skip Lists: A probabilistic Alternative to Balanced Trees" by William Pugh in the June 1990 of Communications of the ACM.</p></ol>
449
450<p>The format of the MedianFilterImage method is:</p>
451
452<pre class="code">
453 Image *MedianFilterImage(const Image *image,const double radius,
454 ExceptionInfo *exception)
455</pre>
456
457<p>A description of each parameter follows:</p></ol>
458
459<h5>image</h5>
460<ol><p>the image.</p></ol>
461
462<h5>radius</h5>
463<ol><p>the radius of the pixel neighborhood.</p></ol>
464
465<h5>exception</h5>
466<ol><p>return any errors or warnings in this structure.</p></ol>
467
468 </div>
469<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
470_8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
471<div class="doc-section">
472
473<p>MotionBlurImage() simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and MotionBlurImage() selects a suitable radius for you. Angle gives the angle of the blurring motion.</p></ol>
474
475<p>Andrew Protano contributed this effect.</p></ol>
476
477<p>The format of the MotionBlurImage method is:</p>
478
479<pre class="code">
480 Image *MotionBlurImage(const Image *image,const double radius,
481 const double sigma,const double angle,ExceptionInfo *exception)
482 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
483 const double radius,const double sigma,const double angle,
484 ExceptionInfo *exception)
485</pre>
486
487<p>A description of each parameter follows:</p></ol>
488
489<h5>image</h5>
490<ol><p>the image.</p></ol>
491
492<h5>channel</h5>
493<ol><p>the channel type.</p></ol>
494
495<h5>radius</h5>
496<ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
497<h5>radius</h5>
498<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
499
500<h5>sigma</h5>
501<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
502
503<h5>angle</h5>
cristyeaedf062010-05-29 22:36:02 +0000504<ol><p>Apply the effect along this angle.</p></ol>
cristy3ed852e2009-09-05 21:47:34 +0000505
506<h5>exception</h5>
507<ol><p>return any errors or warnings in this structure.</p></ol>
508
509 </div>
510<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
511_8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
512<div class="doc-section">
513
514<p>PreviewImage() tiles 9 thumbnails of the specified image with an image processing operation applied with varying parameters. This may be helpful pin-pointing an appropriate parameter for a particular image processing operation.</p></ol>
515
516<p>The format of the PreviewImages method is:</p>
517
518<pre class="code">
519 Image *PreviewImages(const Image *image,const PreviewType preview,
520 ExceptionInfo *exception)
521</pre>
522
523<p>A description of each parameter follows:</p></ol>
524
525<h5>image</h5>
526<ol><p>the image.</p></ol>
527
528<h5>preview</h5>
529<ol><p>the image processing operation.</p></ol>
530
531<h5>exception</h5>
532<ol><p>return any errors or warnings in this structure.</p></ol>
533
534 </div>
535<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
536_8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
537<div class="doc-section">
538
539<p>RadialBlurImage() applies a radial blur to the image.</p></ol>
540
541<p>Andrew Protano contributed this effect.</p></ol>
542
543<p>The format of the RadialBlurImage method is:</p>
544
545<pre class="code">
546 Image *RadialBlurImage(const Image *image,const double angle,
547 ExceptionInfo *exception)
548 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
549 const double angle,ExceptionInfo *exception)
550</pre>
551
552<p>A description of each parameter follows:</p></ol>
553
554<h5>image</h5>
555<ol><p>the image.</p></ol>
556
557<h5>channel</h5>
558<ol><p>the channel type.</p></ol>
559
560<h5>angle</h5>
561<ol><p>the angle of the radial blur.</p></ol>
562
563<h5>exception</h5>
564<ol><p>return any errors or warnings in this structure.</p></ol>
565
566 </div>
567<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
568_8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
569<div class="doc-section">
570
571<p>ReduceNoiseImage() smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and ReduceNoise() selects a suitable radius for you.</p></ol>
572
573<p>The format of the ReduceNoiseImage method is:</p>
574
575<pre class="code">
576 Image *ReduceNoiseImage(const Image *image,const double radius,
577 ExceptionInfo *exception)
578</pre>
579
580<p>A description of each parameter follows:</p></ol>
581
582<h5>image</h5>
583<ol><p>the image.</p></ol>
584
585<h5>radius</h5>
586<ol><p>the radius of the pixel neighborhood.</p></ol>
587
588<h5>exception</h5>
589<ol><p>return any errors or warnings in this structure.</p></ol>
590
591 </div>
592<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
593_8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
594<div class="doc-section">
595
596<p>SelectiveBlurImage() selectively blur pixels within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.</p></ol>
597
598<p>The format of the SelectiveBlurImage method is:</p>
599
600<pre class="code">
601 Image *SelectiveBlurImage(const Image *image,const double radius,
602 const double sigma,const double threshold,ExceptionInfo *exception)
603 Image *SelectiveBlurImageChannel(const Image *image,
604 const ChannelType channel,const double radius,const double sigma,
605 const double threshold,ExceptionInfo *exception)
606</pre>
607
608<p>A description of each parameter follows:</p></ol>
609
610<h5>image</h5>
611<ol><p>the image.</p></ol>
612
613<h5>channel</h5>
614<ol><p>the channel type.</p></ol>
615
616<h5>radius</h5>
617<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
618
619<h5>sigma</h5>
620<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
621
622<h5>threshold</h5>
623<ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
624
625<h5>exception</h5>
626<ol><p>return any errors or warnings in this structure.</p></ol>
627
628 </div>
629<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
630_8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
631<div class="doc-section">
632
633<p>ShadeImage() shines a distant light on an image to create a three-dimensional effect. You control the positioning of the light with azimuth and elevation; azimuth is measured in degrees off the x axis and elevation is measured in pixels above the Z axis.</p></ol>
634
635<p>The format of the ShadeImage method is:</p>
636
637<pre class="code">
638 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
639 const double azimuth,const double elevation,ExceptionInfo *exception)
640</pre>
641
642<p>A description of each parameter follows:</p></ol>
643
644<h5>image</h5>
645<ol><p>the image.</p></ol>
646
647<h5>gray</h5>
648<ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
649
650<h5>azimuth, elevation</h5>
651<ol><p>Define the light source direction.</p></ol>
652
653<h5>exception</h5>
654<ol><p>return any errors or warnings in this structure.</p></ol>
655
656 </div>
657<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
658_8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
659<div class="doc-section">
660
661<p>SharpenImage() sharpens the image. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and SharpenImage() selects a suitable radius for you.</p></ol>
662
663<p>Using a separable kernel would be faster, but the negative weights cancel out on the corners of the kernel producing often undesirable ringing in the filtered result; this can be avoided by using a 2D gaussian shaped image sharpening kernel instead.</p></ol>
664
665<p>The format of the SharpenImage method is:</p>
666
667<pre class="code">
668 Image *SharpenImage(const Image *image,const double radius,
669 const double sigma,ExceptionInfo *exception)
670 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
671 const double radius,const double sigma,ExceptionInfo *exception)
672</pre>
673
674<p>A description of each parameter follows:</p></ol>
675
676<h5>image</h5>
677<ol><p>the image.</p></ol>
678
679<h5>channel</h5>
680<ol><p>the channel type.</p></ol>
681
682<h5>radius</h5>
683<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
684
685<h5>sigma</h5>
686<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
687
688<h5>exception</h5>
689<ol><p>return any errors or warnings in this structure.</p></ol>
690
691 </div>
692<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
693_8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
694<div class="doc-section">
695
696<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
697
698<p>The format of the SpreadImage method is:</p>
699
700<pre class="code">
701 Image *SpreadImage(const Image *image,const double radius,
702 ExceptionInfo *exception)
703</pre>
704
705<p>A description of each parameter follows:</p></ol>
706
707<h5>image</h5>
708<ol><p>the image.</p></ol>
709
710<h5>radius</h5>
711<ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
712
713<h5>exception</h5>
714<ol><p>return any errors or warnings in this structure.</p></ol>
715
716 </div>
717<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
718_8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
719<div class="doc-section">
720
721<p>UnsharpMaskImage() sharpens one or more image channels. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and UnsharpMaskImage() selects a suitable radius for you.</p></ol>
722
723<p>The format of the UnsharpMaskImage method is:</p>
724
725<pre class="code">
726 Image *UnsharpMaskImage(const Image *image,const double radius,
727 const double sigma,const double amount,const double threshold,
728 ExceptionInfo *exception)
729 Image *UnsharpMaskImageChannel(const Image *image,
730 const ChannelType channel,const double radius,const double sigma,
731 const double amount,const double threshold,ExceptionInfo *exception)
732</pre>
733
734<p>A description of each parameter follows:</p></ol>
735
736<h5>image</h5>
737<ol><p>the image.</p></ol>
738
739<h5>channel</h5>
740<ol><p>the channel type.</p></ol>
741
742<h5>radius</h5>
743<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
744
745<h5>sigma</h5>
746<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
747
748<h5>amount</h5>
749<ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
750
751<h5>threshold</h5>
752<ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
753
754<h5>exception</h5>
755<ol><p>return any errors or warnings in this structure.</p></ol>
756
757 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000758
759</div>
760
761<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000762 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000763 <span id="linkbar-center">
764 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000765 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000766 </span>
767 <span id="linkbar-east">&nbsp;</span>
768 </div>
769 <div class="footer">
770 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
771 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
772 </div>
773 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000774 <script type="text/javascript">
775 var _gaq = _gaq || [];
776 _gaq.push(['_setAccount', 'UA-17690367-1']);
777 _gaq.push(['_trackPageview']);
778
779 (function() {
780 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
781 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
782 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
783 })();
784 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000785</body>
786</html>