blob: a2e017f2c9b36e97bf9d4c1c7b84376811ddd64d [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"/>
25 <meta name="Copyright" content="Copyright (c) 1999-2009 ImageMagick Studio LLC"/>
26 <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">
cristy1f9e1ed2009-11-18 04:09:38 +0000127 <a href="http://www.hygi.de">Reinigungsmittel</a><!-- 201002000400+ -->
128</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
cristy3ed852e2009-09-05 21:47:34 +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="#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>
159
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
264_8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
265<div class="doc-section">
266
267<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
268
269<p>The format of the DespeckleImage method is:</p>
270
271<pre class="code">
272 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
273</pre>
274
275<p>A description of each parameter follows:</p></ol>
276
277<h5>image</h5>
278<ol><p>the image.</p></ol>
279
280<h5>exception</h5>
281<ol><p>return any errors or warnings in this structure.</p></ol>
282
283 </div>
284<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
285_8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
286<div class="doc-section">
287
288<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>
289
290<p>The format of the EdgeImage method is:</p>
291
292<pre class="code">
293 Image *EdgeImage(const Image *image,const double radius,
294 ExceptionInfo *exception)
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>radius</h5>
303<ol><p>the radius of the pixel neighborhood.</p></ol>
304
305<h5>exception</h5>
306<ol><p>return any errors or warnings in this structure.</p></ol>
307
308 </div>
309<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
310_8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
311<div class="doc-section">
312
313<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>
314
315<p>The format of the EmbossImage method is:</p>
316
317<pre class="code">
318 Image *EmbossImage(const Image *image,const double radius,
319 const double sigma,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>radius</h5>
328<ol><p>the radius of the pixel neighborhood.</p></ol>
329
330<h5>sigma</h5>
331<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
332
333<h5>exception</h5>
334<ol><p>return any errors or warnings in this structure.</p></ol>
335
336 </div>
337<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
338_8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
339<div class="doc-section">
340
341<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>
342
343<p>The format of the GaussianBlurImage method is:</p>
344
345<pre class="code">
346 Image *GaussianBlurImage(const Image *image,onst double radius,
347 const double sigma,ExceptionInfo *exception)
348 Image *GaussianBlurImageChannel(const Image *image,
349 const ChannelType channel,const double radius,const double sigma,
350 ExceptionInfo *exception)
351</pre>
352
353<p>A description of each parameter follows:</p></ol>
354
355<h5>image</h5>
356<ol><p>the image.</p></ol>
357
358<h5>channel</h5>
359<ol><p>the channel type.</p></ol>
360
361<h5>radius</h5>
362<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</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="MedianFilterImage">MedianFilterImage</a></h2>
373<div class="doc-section">
374
375<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>
376
377<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>
378
379<p>The format of the MedianFilterImage method is:</p>
380
381<pre class="code">
382 Image *MedianFilterImage(const Image *image,const double radius,
383 ExceptionInfo *exception)
384</pre>
385
386<p>A description of each parameter follows:</p></ol>
387
388<h5>image</h5>
389<ol><p>the image.</p></ol>
390
391<h5>radius</h5>
392<ol><p>the radius of the pixel neighborhood.</p></ol>
393
394<h5>exception</h5>
395<ol><p>return any errors or warnings in this structure.</p></ol>
396
397 </div>
398<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
399_8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
400<div class="doc-section">
401
402<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>
403
404<p>Andrew Protano contributed this effect.</p></ol>
405
406<p>The format of the MotionBlurImage method is:</p>
407
408<pre class="code">
409 Image *MotionBlurImage(const Image *image,const double radius,
410 const double sigma,const double angle,ExceptionInfo *exception)
411 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
412 const double radius,const double sigma,const double angle,
413 ExceptionInfo *exception)
414</pre>
415
416<p>A description of each parameter follows:</p></ol>
417
418<h5>image</h5>
419<ol><p>the image.</p></ol>
420
421<h5>channel</h5>
422<ol><p>the channel type.</p></ol>
423
424<h5>radius</h5>
425<ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
426<h5>radius</h5>
427<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
428
429<h5>sigma</h5>
430<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
431
432<h5>angle</h5>
433<ol><p>Apply the effect along this angle.</p></ol>
434
435<h5>exception</h5>
436<ol><p>return any errors or warnings in this structure.</p></ol>
437
438 </div>
439<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
440_8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
441<div class="doc-section">
442
443<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>
444
445<p>The format of the PreviewImages method is:</p>
446
447<pre class="code">
448 Image *PreviewImages(const Image *image,const PreviewType preview,
449 ExceptionInfo *exception)
450</pre>
451
452<p>A description of each parameter follows:</p></ol>
453
454<h5>image</h5>
455<ol><p>the image.</p></ol>
456
457<h5>preview</h5>
458<ol><p>the image processing operation.</p></ol>
459
460<h5>exception</h5>
461<ol><p>return any errors or warnings in this structure.</p></ol>
462
463 </div>
464<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
465_8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
466<div class="doc-section">
467
468<p>RadialBlurImage() applies a radial blur to the image.</p></ol>
469
470<p>Andrew Protano contributed this effect.</p></ol>
471
472<p>The format of the RadialBlurImage method is:</p>
473
474<pre class="code">
475 Image *RadialBlurImage(const Image *image,const double angle,
476 ExceptionInfo *exception)
477 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
478 const double angle,ExceptionInfo *exception)
479</pre>
480
481<p>A description of each parameter follows:</p></ol>
482
483<h5>image</h5>
484<ol><p>the image.</p></ol>
485
486<h5>channel</h5>
487<ol><p>the channel type.</p></ol>
488
489<h5>angle</h5>
490<ol><p>the angle of the radial blur.</p></ol>
491
492<h5>exception</h5>
493<ol><p>return any errors or warnings in this structure.</p></ol>
494
495 </div>
496<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
497_8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
498<div class="doc-section">
499
500<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>
501
502<p>The format of the ReduceNoiseImage method is:</p>
503
504<pre class="code">
505 Image *ReduceNoiseImage(const Image *image,const double radius,
506 ExceptionInfo *exception)
507</pre>
508
509<p>A description of each parameter follows:</p></ol>
510
511<h5>image</h5>
512<ol><p>the image.</p></ol>
513
514<h5>radius</h5>
515<ol><p>the radius of the pixel neighborhood.</p></ol>
516
517<h5>exception</h5>
518<ol><p>return any errors or warnings in this structure.</p></ol>
519
520 </div>
521<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
522_8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
523<div class="doc-section">
524
525<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>
526
527<p>The format of the SelectiveBlurImage method is:</p>
528
529<pre class="code">
530 Image *SelectiveBlurImage(const Image *image,const double radius,
531 const double sigma,const double threshold,ExceptionInfo *exception)
532 Image *SelectiveBlurImageChannel(const Image *image,
533 const ChannelType channel,const double radius,const double sigma,
534 const double threshold,ExceptionInfo *exception)
535</pre>
536
537<p>A description of each parameter follows:</p></ol>
538
539<h5>image</h5>
540<ol><p>the image.</p></ol>
541
542<h5>channel</h5>
543<ol><p>the channel type.</p></ol>
544
545<h5>radius</h5>
546<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
547
548<h5>sigma</h5>
549<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
550
551<h5>threshold</h5>
552<ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
553
554<h5>exception</h5>
555<ol><p>return any errors or warnings in this structure.</p></ol>
556
557 </div>
558<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
559_8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
560<div class="doc-section">
561
562<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>
563
564<p>The format of the ShadeImage method is:</p>
565
566<pre class="code">
567 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
568 const double azimuth,const double elevation,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>gray</h5>
577<ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
578
579<h5>azimuth, elevation</h5>
580<ol><p>Define the light source direction.</p></ol>
581
582<h5>exception</h5>
583<ol><p>return any errors or warnings in this structure.</p></ol>
584
585 </div>
586<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
587_8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
588<div class="doc-section">
589
590<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>
591
592<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>
593
594<p>The format of the SharpenImage method is:</p>
595
596<pre class="code">
597 Image *SharpenImage(const Image *image,const double radius,
598 const double sigma,ExceptionInfo *exception)
599 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
600 const double radius,const double sigma,ExceptionInfo *exception)
601</pre>
602
603<p>A description of each parameter follows:</p></ol>
604
605<h5>image</h5>
606<ol><p>the image.</p></ol>
607
608<h5>channel</h5>
609<ol><p>the channel type.</p></ol>
610
611<h5>radius</h5>
612<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
613
614<h5>sigma</h5>
615<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
616
617<h5>exception</h5>
618<ol><p>return any errors or warnings in this structure.</p></ol>
619
620 </div>
621<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
622_8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
623<div class="doc-section">
624
625<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
626
627<p>The format of the SpreadImage method is:</p>
628
629<pre class="code">
630 Image *SpreadImage(const Image *image,const double radius,
631 ExceptionInfo *exception)
632</pre>
633
634<p>A description of each parameter follows:</p></ol>
635
636<h5>image</h5>
637<ol><p>the image.</p></ol>
638
639<h5>radius</h5>
640<ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
641
642<h5>exception</h5>
643<ol><p>return any errors or warnings in this structure.</p></ol>
644
645 </div>
646<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
647_8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
648<div class="doc-section">
649
650<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>
651
652<p>The format of the UnsharpMaskImage method is:</p>
653
654<pre class="code">
655 Image *UnsharpMaskImage(const Image *image,const double radius,
656 const double sigma,const double amount,const double threshold,
657 ExceptionInfo *exception)
658 Image *UnsharpMaskImageChannel(const Image *image,
659 const ChannelType channel,const double radius,const double sigma,
660 const double amount,const double threshold,ExceptionInfo *exception)
661</pre>
662
663<p>A description of each parameter follows:</p></ol>
664
665<h5>image</h5>
666<ol><p>the image.</p></ol>
667
668<h5>channel</h5>
669<ol><p>the channel type.</p></ol>
670
671<h5>radius</h5>
672<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
673
674<h5>sigma</h5>
675<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
676
677<h5>amount</h5>
678<ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
679
680<h5>threshold</h5>
681<ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
682
683<h5>exception</h5>
684<ol><p>return any errors or warnings in this structure.</p></ol>
685
686 </div>
cristyf3bb4782009-09-08 13:10:04 +0000687
688</div>
689
690<div id="linkbar">
691 <!-- <span id="linkbar-west">&nbsp;</span> -->
692 <span id="linkbar-center">
693 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
694 <a href="../../www/mailing-list.html">Mailing Lists</a> &bull;
cristy1f9e1ed2009-11-18 04:09:38 +0000695 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristyf3bb4782009-09-08 13:10:04 +0000696 </span>
697 <span id="linkbar-east">&nbsp;</span>
698 </div>
699 <div class="footer">
700 <span id="footer-west">&copy; 1999-2009 ImageMagick Studio LLC</span>
701 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
702 </div>
703 <div style="clear: both; margin: 0; width: 100%; "></div>
704</body>
705</html>