blob: d77f50bea232cc3f8fe435fb7d895708b228af91 [file] [log] [blame]
cristyf3bb4782009-09-08 13:10:04 +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>
cristy1f9e1ed2009-11-18 04:09:38 +00005 <meta http-equiv="Content-Type" value="application/xhtml+xml" />
cristyf3bb4782009-09-08 13:10:04 +00006 <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: 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"/>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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>
cristyf3bb4782009-09-08 13:10:04 +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">
cristyfcb2a812009-12-27 20:24:28 +0000127 <a href="http://www.abi-stoff.de/abizeitung/" title="Abibuch">Abizeitung</a><!-- 20101101000200 -->
cristy1f9e1ed2009-11-18 04:09:38 +0000128</div>
129<div class="sponsor">
130 <a href="http://www.tomsgutscheine.de">Tom's Gutscheine</a><!-- 201005010360 invendio.de-->
131</div>
132<div class="sponsor">
cristy0f61e612009-11-10 20:03:57 +0000133 <a href="http://www.online-kredit-index.de">Kredit</a><!-- 201004010120 Buchhorn -->
cristyc1c61662009-09-30 14:04:37 +0000134</div>
135<div class="sponsor">
cristy0f61e612009-11-10 20:03:57 +0000136 <a href="http://www.blumenversender.com">Blumenversand</a><!-- 201005010120 -->
cristy916e1922009-10-01 12:52:47 +0000137</div>
138<div class="sponsor">
cristyb4c03bb2009-09-27 13:55:46 +0000139 <a href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristyc49f7992009-09-22 22:48:40 +0000140</div>
141<div class="sponsor">
cristyf3bb4782009-09-08 13:10:04 +0000142 <a href="http://www.goyax.de">Börse</a><!-- 201001000240 Gewiese digital-finance.de -->
143</div>
144<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000145 <a href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012001200 allesdruck.de-->
146</div>
147<div class="sponsor">
cristy3ed852e2009-09-05 21:47:34 +0000148 <a href="http://www.who-sells-it.com/">Free Catalogs</a><!-- 201002010000 -->
149</div>
cristy3ed852e2009-09-05 21:47:34 +0000150</div>
151</div>
cristyf3bb4782009-09-08 13:10:04 +0000152
153
154</div>
155
156<div class="main">
157
cristy6b636652009-12-05 17:16:11 +0000158<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="#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 +0000159
160<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
161_8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
162<div class="doc-section">
163
164<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>
165
166<p>The format of the AdaptiveBlurImage method is:</p>
167
168<pre class="code">
169 Image *AdaptiveBlurImage(const Image *image,const double radius,
170 const double sigma,ExceptionInfo *exception)
171 Image *AdaptiveBlurImageChannel(const Image *image,
172 const ChannelType channel,double radius,const double sigma,
173 ExceptionInfo *exception)
174</pre>
175
176<p>A description of each parameter follows:</p></ol>
177
178<h5>image</h5>
179<ol><p>the image.</p></ol>
180
181<h5>channel</h5>
182<ol><p>the channel type.</p></ol>
183
184<h5>radius</h5>
185<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
186
187<h5>sigma</h5>
188<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
189
190<h5>exception</h5>
191<ol><p>return any errors or warnings in this structure.</p></ol>
192
193 </div>
194<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
195_8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
196<div class="doc-section">
197
198<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>
199
200<p>The format of the AdaptiveSharpenImage method is:</p>
201
202<pre class="code">
203 Image *AdaptiveSharpenImage(const Image *image,const double radius,
204 const double sigma,ExceptionInfo *exception)
205 Image *AdaptiveSharpenImageChannel(const Image *image,
206 const ChannelType channel,double radius,const double sigma,
207 ExceptionInfo *exception)
208</pre>
209
210<p>A description of each parameter follows:</p></ol>
211
212<h5>image</h5>
213<ol><p>the image.</p></ol>
214
215<h5>channel</h5>
216<ol><p>the channel type.</p></ol>
217
218<h5>radius</h5>
219<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
220
221<h5>sigma</h5>
222<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
223
224<h5>exception</h5>
225<ol><p>return any errors or warnings in this structure.</p></ol>
226
227 </div>
228<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
229_8c.html" target="source" name="BlurImage">BlurImage</a></h2>
230<div class="doc-section">
231
232<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>
233
234<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>
235
236<p>The format of the BlurImage method is:</p>
237
238<pre class="code">
239 Image *BlurImage(const Image *image,const double radius,
240 const double sigma,ExceptionInfo *exception)
241 Image *BlurImageChannel(const Image *image,const ChannelType channel,
242 const double radius,const double sigma,ExceptionInfo *exception)
243</pre>
244
245<p>A description of each parameter follows:</p></ol>
246
247<h5>image</h5>
248<ol><p>the image.</p></ol>
249
250<h5>channel</h5>
251<ol><p>the channel type.</p></ol>
252
253<h5>radius</h5>
254<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
255
256<h5>sigma</h5>
257<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
258
259<h5>exception</h5>
260<ol><p>return any errors or warnings in this structure.</p></ol>
261
262 </div>
263<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy6b636652009-12-05 17:16:11 +0000264_8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
265<div class="doc-section">
266
267<p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
268
269<p>The format of the ConvolveImage method is:</p>
270
271<pre class="code">
272 Image *ConvolveImage(const Image *image,const unsigned long order,
273 const double *kernel,ExceptionInfo *exception)
274 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
275 const unsigned long order,const double *kernel,
276 ExceptionInfo *exception)
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>channel</h5>
285<ol><p>the channel type.</p></ol>
286
287<h5>order</h5>
288<ol><p>the number of columns and rows in the filter kernel.</p></ol>
289
290<h5>kernel</h5>
291<ol><p>An array of double representing the convolution kernel.</p></ol>
292
293<h5>exception</h5>
294<ol><p>return any errors or warnings in this structure.</p></ol>
295
296 </div>
297<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy3ed852e2009-09-05 21:47:34 +0000298_8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
299<div class="doc-section">
300
301<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
302
303<p>The format of the DespeckleImage method is:</p>
304
305<pre class="code">
306 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
307</pre>
308
309<p>A description of each parameter follows:</p></ol>
310
311<h5>image</h5>
312<ol><p>the image.</p></ol>
313
314<h5>exception</h5>
315<ol><p>return any errors or warnings in this structure.</p></ol>
316
317 </div>
318<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
319_8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
320<div class="doc-section">
321
322<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>
323
324<p>The format of the EdgeImage method is:</p>
325
326<pre class="code">
327 Image *EdgeImage(const Image *image,const double radius,
328 ExceptionInfo *exception)
329</pre>
330
331<p>A description of each parameter follows:</p></ol>
332
333<h5>image</h5>
334<ol><p>the image.</p></ol>
335
336<h5>radius</h5>
337<ol><p>the radius of the pixel neighborhood.</p></ol>
338
339<h5>exception</h5>
340<ol><p>return any errors or warnings in this structure.</p></ol>
341
342 </div>
343<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
344_8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
345<div class="doc-section">
346
347<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>
348
349<p>The format of the EmbossImage method is:</p>
350
351<pre class="code">
352 Image *EmbossImage(const Image *image,const double radius,
353 const double sigma,ExceptionInfo *exception)
354</pre>
355
356<p>A description of each parameter follows:</p></ol>
357
358<h5>image</h5>
359<ol><p>the image.</p></ol>
360
361<h5>radius</h5>
362<ol><p>the radius of the pixel neighborhood.</p></ol>
363
364<h5>sigma</h5>
365<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
366
367<h5>exception</h5>
368<ol><p>return any errors or warnings in this structure.</p></ol>
369
370 </div>
371<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
372_8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
373<div class="doc-section">
374
375<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>
376
377<p>The format of the GaussianBlurImage method is:</p>
378
379<pre class="code">
380 Image *GaussianBlurImage(const Image *image,onst double radius,
381 const double sigma,ExceptionInfo *exception)
382 Image *GaussianBlurImageChannel(const Image *image,
383 const ChannelType channel,const double radius,const double sigma,
384 ExceptionInfo *exception)
385</pre>
386
387<p>A description of each parameter follows:</p></ol>
388
389<h5>image</h5>
390<ol><p>the image.</p></ol>
391
392<h5>channel</h5>
393<ol><p>the channel type.</p></ol>
394
395<h5>radius</h5>
396<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
397
398<h5>sigma</h5>
399<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
400
401<h5>exception</h5>
402<ol><p>return any errors or warnings in this structure.</p></ol>
403
404 </div>
405<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
406_8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
407<div class="doc-section">
408
409<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>
410
411<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>
412
413<p>The format of the MedianFilterImage method is:</p>
414
415<pre class="code">
416 Image *MedianFilterImage(const Image *image,const double radius,
417 ExceptionInfo *exception)
418</pre>
419
420<p>A description of each parameter follows:</p></ol>
421
422<h5>image</h5>
423<ol><p>the image.</p></ol>
424
425<h5>radius</h5>
426<ol><p>the radius of the pixel neighborhood.</p></ol>
427
428<h5>exception</h5>
429<ol><p>return any errors or warnings in this structure.</p></ol>
430
431 </div>
432<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
433_8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
434<div class="doc-section">
435
436<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>
437
438<p>Andrew Protano contributed this effect.</p></ol>
439
440<p>The format of the MotionBlurImage method is:</p>
441
442<pre class="code">
443 Image *MotionBlurImage(const Image *image,const double radius,
444 const double sigma,const double angle,ExceptionInfo *exception)
445 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
446 const double radius,const double sigma,const double angle,
447 ExceptionInfo *exception)
448</pre>
449
450<p>A description of each parameter follows:</p></ol>
451
452<h5>image</h5>
453<ol><p>the image.</p></ol>
454
455<h5>channel</h5>
456<ol><p>the channel type.</p></ol>
457
458<h5>radius</h5>
459<ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
460<h5>radius</h5>
461<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
462
463<h5>sigma</h5>
464<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
465
466<h5>angle</h5>
467<ol><p>Apply the effect along this angle.</p></ol>
468
469<h5>exception</h5>
470<ol><p>return any errors or warnings in this structure.</p></ol>
471
472 </div>
473<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
474_8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
475<div class="doc-section">
476
477<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>
478
479<p>The format of the PreviewImages method is:</p>
480
481<pre class="code">
482 Image *PreviewImages(const Image *image,const PreviewType preview,
483 ExceptionInfo *exception)
484</pre>
485
486<p>A description of each parameter follows:</p></ol>
487
488<h5>image</h5>
489<ol><p>the image.</p></ol>
490
491<h5>preview</h5>
492<ol><p>the image processing operation.</p></ol>
493
494<h5>exception</h5>
495<ol><p>return any errors or warnings in this structure.</p></ol>
496
497 </div>
498<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
499_8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
500<div class="doc-section">
501
502<p>RadialBlurImage() applies a radial blur to the image.</p></ol>
503
504<p>Andrew Protano contributed this effect.</p></ol>
505
506<p>The format of the RadialBlurImage method is:</p>
507
508<pre class="code">
509 Image *RadialBlurImage(const Image *image,const double angle,
510 ExceptionInfo *exception)
511 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
512 const double angle,ExceptionInfo *exception)
513</pre>
514
515<p>A description of each parameter follows:</p></ol>
516
517<h5>image</h5>
518<ol><p>the image.</p></ol>
519
520<h5>channel</h5>
521<ol><p>the channel type.</p></ol>
522
523<h5>angle</h5>
524<ol><p>the angle of the radial blur.</p></ol>
525
526<h5>exception</h5>
527<ol><p>return any errors or warnings in this structure.</p></ol>
528
529 </div>
530<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
531_8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
532<div class="doc-section">
533
534<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>
535
536<p>The format of the ReduceNoiseImage method is:</p>
537
538<pre class="code">
539 Image *ReduceNoiseImage(const Image *image,const double radius,
540 ExceptionInfo *exception)
541</pre>
542
543<p>A description of each parameter follows:</p></ol>
544
545<h5>image</h5>
546<ol><p>the image.</p></ol>
547
548<h5>radius</h5>
549<ol><p>the radius of the pixel neighborhood.</p></ol>
550
551<h5>exception</h5>
552<ol><p>return any errors or warnings in this structure.</p></ol>
553
554 </div>
555<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
556_8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
557<div class="doc-section">
558
559<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>
560
561<p>The format of the SelectiveBlurImage method is:</p>
562
563<pre class="code">
564 Image *SelectiveBlurImage(const Image *image,const double radius,
565 const double sigma,const double threshold,ExceptionInfo *exception)
566 Image *SelectiveBlurImageChannel(const Image *image,
567 const ChannelType channel,const double radius,const double sigma,
568 const double threshold,ExceptionInfo *exception)
569</pre>
570
571<p>A description of each parameter follows:</p></ol>
572
573<h5>image</h5>
574<ol><p>the image.</p></ol>
575
576<h5>channel</h5>
577<ol><p>the channel type.</p></ol>
578
579<h5>radius</h5>
580<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
581
582<h5>sigma</h5>
583<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
584
585<h5>threshold</h5>
586<ol><p>only pixels within this contrast threshold are included in the blur operation.</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="ShadeImage">ShadeImage</a></h2>
594<div class="doc-section">
595
596<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>
597
598<p>The format of the ShadeImage method is:</p>
599
600<pre class="code">
601 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
602 const double azimuth,const double elevation,ExceptionInfo *exception)
603</pre>
604
605<p>A description of each parameter follows:</p></ol>
606
607<h5>image</h5>
608<ol><p>the image.</p></ol>
609
610<h5>gray</h5>
611<ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
612
613<h5>azimuth, elevation</h5>
614<ol><p>Define the light source direction.</p></ol>
615
616<h5>exception</h5>
617<ol><p>return any errors or warnings in this structure.</p></ol>
618
619 </div>
620<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
621_8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
622<div class="doc-section">
623
624<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>
625
626<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>
627
628<p>The format of the SharpenImage method is:</p>
629
630<pre class="code">
631 Image *SharpenImage(const Image *image,const double radius,
632 const double sigma,ExceptionInfo *exception)
633 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
634 const double radius,const double sigma,ExceptionInfo *exception)
635</pre>
636
637<p>A description of each parameter follows:</p></ol>
638
639<h5>image</h5>
640<ol><p>the image.</p></ol>
641
642<h5>channel</h5>
643<ol><p>the channel type.</p></ol>
644
645<h5>radius</h5>
646<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
647
648<h5>sigma</h5>
649<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
650
651<h5>exception</h5>
652<ol><p>return any errors or warnings in this structure.</p></ol>
653
654 </div>
655<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
656_8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
657<div class="doc-section">
658
659<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
660
661<p>The format of the SpreadImage method is:</p>
662
663<pre class="code">
664 Image *SpreadImage(const Image *image,const double radius,
665 ExceptionInfo *exception)
666</pre>
667
668<p>A description of each parameter follows:</p></ol>
669
670<h5>image</h5>
671<ol><p>the image.</p></ol>
672
673<h5>radius</h5>
674<ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
675
676<h5>exception</h5>
677<ol><p>return any errors or warnings in this structure.</p></ol>
678
679 </div>
680<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
681_8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
682<div class="doc-section">
683
684<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>
685
686<p>The format of the UnsharpMaskImage method is:</p>
687
688<pre class="code">
689 Image *UnsharpMaskImage(const Image *image,const double radius,
690 const double sigma,const double amount,const double threshold,
691 ExceptionInfo *exception)
692 Image *UnsharpMaskImageChannel(const Image *image,
693 const ChannelType channel,const double radius,const double sigma,
694 const double amount,const double threshold,ExceptionInfo *exception)
695</pre>
696
697<p>A description of each parameter follows:</p></ol>
698
699<h5>image</h5>
700<ol><p>the image.</p></ol>
701
702<h5>channel</h5>
703<ol><p>the channel type.</p></ol>
704
705<h5>radius</h5>
706<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
707
708<h5>sigma</h5>
709<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
710
711<h5>amount</h5>
712<ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
713
714<h5>threshold</h5>
715<ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
716
717<h5>exception</h5>
718<ol><p>return any errors or warnings in this structure.</p></ol>
719
720 </div>
cristyf3bb4782009-09-08 13:10:04 +0000721
722</div>
723
724<div id="linkbar">
725 <!-- <span id="linkbar-west">&nbsp;</span> -->
726 <span id="linkbar-center">
727 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
728 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristyfcb2a812009-12-27 20:24:28 +0000729 <a href="http://studio.webbyland.com/ImageMagick/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000730 </span>
731 <span id="linkbar-east">&nbsp;</span>
732 </div>
733 <div class="footer">
cristy16af1cb2009-12-11 21:38:29 +0000734 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
cristyf3bb4782009-09-08 13:10:04 +0000735 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
736 </div>
737 <div style="clear: both; margin: 0; width: 100%; "></div>
738</body>
739</html>