blob: 3a33670683cb3a59ad32f106416c64a446525a3c [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>
cristy3c98a4f2010-08-13 20:09:41 +00005 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6 <meta name="verify-v1" content="g222frIIxcQTrvDR3NBRUSKP3AnMNoqxOkIniCEkV7U="/>
7 <title>ImageMagick: MagickCore, C API for ImageMagick: Add an Effect</title/>
cristy3ed852e2009-09-05 21:47:34 +00008 <meta http-equiv="Content-Language" content="en-US"/>
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
10 <meta http-equiv="Reply-to" content="magick-users@imagemagick.org"/>
cristy3c98a4f2010-08-13 20:09:41 +000011 <meta name="Application-name" content="ImageMagick"/>
12 <meta name="Description" content="ImageMagick® is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves. ImageMagick is free software delivered as a ready-to-run binary distribution or as source code that you can freely use, copy, modify, and distribute. Its license is compatible with the GPL. It runs on all major operating systems. The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language. Choose from these interfaces: MagickCore (C), MagickWand (C), ChMagick (Ch), Magick++ (C++), JMagick (Java), L-Magick (Lisp), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK). With a language interface, use ImageMagick to modify or create images automagically and dynamically."/>
13 <meta name="Application-url" content="http://www.imagemagick.org"/>
cristy3ed852e2009-09-05 21:47:34 +000014 <meta name="Generator" content="PHP"/>
15 <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"/>
cristy3ed852e2009-09-05 21:47:34 +000016 <meta name="Rating" content="GENERAL"/>
17 <meta name="Robots" content="INDEX, FOLLOW"/>
18 <meta name="Generator" content="ImageMagick Studio LLC"/>
19 <meta name="Author" content="ImageMagick Studio LLC"/>
20 <meta name="Revisit-after" content="2 DAYS"/>
21 <meta name="Resource-type" content="document"/>
cristy16af1cb2009-12-11 21:38:29 +000022 <meta name="Copyright" content="Copyright (c) 1999-2010 ImageMagick Studio LLC"/>
cristy3ed852e2009-09-05 21:47:34 +000023 <meta name="Distribution" content="Global"/>
cristy3c98a4f2010-08-13 20:09:41 +000024 <link rel="icon" href="../../images/wand.png" sizes="32x32"/>
25 <link rel="shortcut icon" href="../../images/wand.ico" type="images/x-icon"/>
26 <link rel="meta" type="application/rdf+xml" title="ICI" href="http://imagemagick.org/ici.rdf"/>
27 <style type="text/css" media="all">
28 @import url("../../www/magick.css");
29 </style>
cristy3eaa0ef2010-03-06 20:35:26 +000030</head>
31
32<body id="www-imagemagick-org">
33<div class="titlebar">
34<a href="../../index.html">
35 <img src="../../images/script.png" alt="[ImageMagick]"
36 style="width: 350px; height: 60px; margin: 28px auto; float: left;" /></a>
37<a href="http://www.networkredux.com">
38 <img src="../../images/networkredux.png" alt="[sponsor]"
39 style="margin: 45px auto; border: 0px; float: left;" /></a>
40<a href="http://www.imagemagick.org/discourse-server/">
41 <img src="../../images/logo.jpg" alt=""
42 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
43<a href="../../index.html">
44 <img src="../../images/sprite.jpg" alt=""
45 style="width: 114px; height: 118px; border: 0px; float: right;" /></a>
46</div>
47
cristyce69bb02010-07-27 19:49:46 +000048<div class="westbar">
cristy3eaa0ef2010-03-06 20:35:26 +000049
cristy3ed852e2009-09-05 21:47:34 +000050<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000051 <a title="About ImageMagick" href="../../index.html">About ImageMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000052</div>
cristy3eaa0ef2010-03-06 20:35:26 +000053<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000054<div class="menu">
cristybb503372010-05-27 20:51:26 +000055 <a title="Binary Releases" href="../../www/binary-releases.html">Binary Releases</a>
56</div>
57<div class="sub">
58 <a title="Binary Release: Unix" href="../../www/binary-releases.html#unix">Unix</a>
59</div>
60<div class="sub">
61 <a title="Binary Release: MacOS X" href="../../www/binary-releases.html#macosx">Mac OS X</a>
62</div>
63<div class="sub">
64 <a title="Binary Release: Windows" href="../../www/binary-releases.html#windows">Windows</a>
65</div>
66<div class="sep"></div>
67<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000068 <a title="Command-line Tools" href="../../www/command-line-tools.html">Command-line Tools</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: Processing" href="../../www/command-line-processing.html">Processing</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: Options" href="../../www/command-line-options.html">Options</a>
cristy3ed852e2009-09-05 21:47:34 +000075</div>
76<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000077 <a title="Command-line Tools: Usage" href="http://www.imagemagick.org/Usage/">Usage</a>
cristy3ed852e2009-09-05 21:47:34 +000078</div>
79<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000080 <a title="Program Interfaces" href="../../www/api.html">Program Interfaces</a>
cristy3ed852e2009-09-05 21:47:34 +000081</div>
82<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000083 <a title="Program Interface: MagickWand" href="../../www/magick-wand.html">MagickWand</a>
cristy3ed852e2009-09-05 21:47:34 +000084</div>
85<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000086 <a title="Program Interface: MagickCore" href="../../www/magick-core.html">MagickCore</a>
cristy3ed852e2009-09-05 21:47:34 +000087</div>
88<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000089 <a title="Program Interface: PerlMagick" href="../../www/perl-magick.html">PerlMagick</a>
cristy3ed852e2009-09-05 21:47:34 +000090</div>
91<div class="sub">
cristy83a272e2010-05-07 20:40:35 +000092 <a title="Program Interface: Magick++" href="../../Magick++/">Magick++</a>
cristy3ed852e2009-09-05 21:47:34 +000093</div>
cristy3eaa0ef2010-03-06 20:35:26 +000094<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +000095<div class="menu">
cristy83a272e2010-05-07 20:40:35 +000096 <a title="Install from Source" href="../../www/install-source.html">Install from Source</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: Unix" href="../../www/install-source.html#unix">Unix</a>
cristy3ed852e2009-09-05 21:47:34 +0000100</div>
101<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000102 <a title="Install from Source: Windows" href="../../www/install-source.html#windows">Windows</a>
cristy3ed852e2009-09-05 21:47:34 +0000103 </div>
104<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000105 <a title="Resources" href="../../www/resources.html">Resources</a>
cristy3ed852e2009-09-05 21:47:34 +0000106</div>
cristybb503372010-05-27 20:51:26 +0000107<div class="menu">
108 <a title="Architecture" href="../../www/architecture.html">Architecture</a>
109</div>
cristy3ed852e2009-09-05 21:47:34 +0000110<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000111 <a title="Download" href="../../www/download.html">Download</a>
cristy3ed852e2009-09-05 21:47:34 +0000112</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000113<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000114<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000115 <a title="Search" href="../http://www.imagemagick.org/script/search.php">Search</a>
cristy3ed852e2009-09-05 21:47:34 +0000116</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000117<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000118<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000119 <a title="Site Map"href="../../www/sitemap.html">Site Map</a>
cristy3ed852e2009-09-05 21:47:34 +0000120</div>
121<div class="sub">
cristy83a272e2010-05-07 20:40:35 +0000122 <a title="Site Map: Links"href="../../www/links.html">Links</a>
cristy3ed852e2009-09-05 21:47:34 +0000123</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000124<div class="sep"></div>
cristy3ed852e2009-09-05 21:47:34 +0000125<div class="menu">
cristy83a272e2010-05-07 20:40:35 +0000126 <a title="Sponsors" href="../../www/sponsors.html">Sponsors:</a>
cristy3ed852e2009-09-05 21:47:34 +0000127
128<div class="sponsbox">
129<div class="sponsor">
cristy851dbce2010-08-06 21:40:00 +0000130 <a title="Sponsor: Flyer drucken" href="http://www.online-druck.biz">Flyer drucken</a><!-- 201109010900 Floeter-->
131</div>
132<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000133 <a title="Sponsor: Webdesign Agentur" href="http://www.ventzke-partner.de">Webdesign Agentur</a><!-- 201101010480 invendio.de-->
cristy9b5852d2010-03-08 18:18:01 +0000134</div>
135<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000136 <a title="Sponsor: LVM Versicherung" href="http://www.neu-reich.de">LVM Versicherung</a><!-- 201101010480 -->
cristy8f900122010-03-05 15:26:31 +0000137</div>
138<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000139 <a title="Sponsor: Deko.net" href="http://www.deko.net">Deko.net</a><!-- 201101010600 Peterssen-->
cristy1f9e1ed2009-11-18 04:09:38 +0000140</div>
141<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000142 <a title="Sponsor: Druckerei" href="http://www.print24.de/">Druckerei</a><!-- 201009010720 -->
cristy916e1922009-10-01 12:52:47 +0000143</div>
144<div class="sponsor">
cristy83a272e2010-05-07 20:40:35 +0000145 <a title="Sponsor: Druckerei Online" href="http://www.allesdruck.de">Druckerei Online</a><!-- 201012011200 allesdruck.de-->
cristyc49f7992009-09-22 22:48:40 +0000146</div>
147<div class="sponsor">
cristy3c98a4f2010-08-13 20:09:41 +0000148 <a title="Sponsor: Webdesign" href="http://www.renehornig.com/">Webdesign</a><!-- 20111001000240 -->
cristy3ed852e2009-09-05 21:47:34 +0000149</div>
cristy3ed852e2009-09-05 21:47:34 +0000150</div>
151</div>
cristyce69bb02010-07-27 19:49:46 +0000152</div>
cristy3eaa0ef2010-03-06 20:35:26 +0000153
cristyce69bb02010-07-27 19:49:46 +0000154<div class="eastbar">
155 <script type="text/javascript">
156 <!--
157 google_ad_client = "pub-3129977114552745";
cristyce69bb02010-07-27 19:49:46 +0000158 google_ad_slot = "0574824969";
159 google_ad_width = 160;
160 google_ad_height = 600;
161 //-->
162 </script>
163 <script type="text/javascript"
164 src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
165 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000166</div>
167
168<div class="main">
169
cristy16ff93c2010-01-13 23:18:07 +0000170<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 +0000171
172<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
173_8c.html" target="source" name="AdaptiveBlurImage">AdaptiveBlurImage</a></h2>
174<div class="doc-section">
175
176<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>
177
178<p>The format of the AdaptiveBlurImage method is:</p>
179
180<pre class="code">
181 Image *AdaptiveBlurImage(const Image *image,const double radius,
182 const double sigma,ExceptionInfo *exception)
183 Image *AdaptiveBlurImageChannel(const Image *image,
184 const ChannelType channel,double radius,const double sigma,
185 ExceptionInfo *exception)
186</pre>
187
188<p>A description of each parameter follows:</p></ol>
189
190<h5>image</h5>
191<ol><p>the image.</p></ol>
192
193<h5>channel</h5>
194<ol><p>the channel type.</p></ol>
195
196<h5>radius</h5>
197<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
198
199<h5>sigma</h5>
200<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
201
202<h5>exception</h5>
203<ol><p>return any errors or warnings in this structure.</p></ol>
204
205 </div>
206<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
207_8c.html" target="source" name="AdaptiveSharpenImage">AdaptiveSharpenImage</a></h2>
208<div class="doc-section">
209
210<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>
211
212<p>The format of the AdaptiveSharpenImage method is:</p>
213
214<pre class="code">
215 Image *AdaptiveSharpenImage(const Image *image,const double radius,
216 const double sigma,ExceptionInfo *exception)
217 Image *AdaptiveSharpenImageChannel(const Image *image,
218 const ChannelType channel,double radius,const double sigma,
219 ExceptionInfo *exception)
220</pre>
221
222<p>A description of each parameter follows:</p></ol>
223
224<h5>image</h5>
225<ol><p>the image.</p></ol>
226
227<h5>channel</h5>
228<ol><p>the channel type.</p></ol>
229
230<h5>radius</h5>
231<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
232
233<h5>sigma</h5>
234<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
235
236<h5>exception</h5>
237<ol><p>return any errors or warnings in this structure.</p></ol>
238
239 </div>
240<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
241_8c.html" target="source" name="BlurImage">BlurImage</a></h2>
242<div class="doc-section">
243
244<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>
245
246<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>
247
248<p>The format of the BlurImage method is:</p>
249
250<pre class="code">
251 Image *BlurImage(const Image *image,const double radius,
252 const double sigma,ExceptionInfo *exception)
253 Image *BlurImageChannel(const Image *image,const ChannelType channel,
254 const double radius,const double sigma,ExceptionInfo *exception)
255</pre>
256
257<p>A description of each parameter follows:</p></ol>
258
259<h5>image</h5>
260<ol><p>the image.</p></ol>
261
262<h5>channel</h5>
263<ol><p>the channel type.</p></ol>
264
265<h5>radius</h5>
266<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
267
268<h5>sigma</h5>
269<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
270
271<h5>exception</h5>
272<ol><p>return any errors or warnings in this structure.</p></ol>
273
274 </div>
275<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy6b636652009-12-05 17:16:11 +0000276_8c.html" target="source" name="ConvolveImage">ConvolveImage</a></h2>
277<div class="doc-section">
278
279<p>ConvolveImage() applies a custom convolution kernel to the image.</p></ol>
280
281<p>The format of the ConvolveImage method is:</p>
282
283<pre class="code">
cristybb503372010-05-27 20:51:26 +0000284 Image *ConvolveImage(const Image *image,const size_t order,
cristy6b636652009-12-05 17:16:11 +0000285 const double *kernel,ExceptionInfo *exception)
286 Image *ConvolveImageChannel(const Image *image,const ChannelType channel,
cristybb503372010-05-27 20:51:26 +0000287 const size_t order,const double *kernel,
cristy6b636652009-12-05 17:16:11 +0000288 ExceptionInfo *exception)
289</pre>
290
291<p>A description of each parameter follows:</p></ol>
292
293<h5>image</h5>
294<ol><p>the image.</p></ol>
295
296<h5>channel</h5>
297<ol><p>the channel type.</p></ol>
298
299<h5>order</h5>
300<ol><p>the number of columns and rows in the filter kernel.</p></ol>
301
302<h5>kernel</h5>
303<ol><p>An array of double representing the convolution kernel.</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
cristy3ed852e2009-09-05 21:47:34 +0000310_8c.html" target="source" name="DespeckleImage">DespeckleImage</a></h2>
311<div class="doc-section">
312
313<p>DespeckleImage() reduces the speckle noise in an image while perserving the edges of the original image.</p></ol>
314
315<p>The format of the DespeckleImage method is:</p>
316
317<pre class="code">
318 Image *DespeckleImage(const Image *image,ExceptionInfo *exception)
319</pre>
320
321<p>A description of each parameter follows:</p></ol>
322
323<h5>image</h5>
324<ol><p>the image.</p></ol>
325
326<h5>exception</h5>
327<ol><p>return any errors or warnings in this structure.</p></ol>
328
329 </div>
330<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
331_8c.html" target="source" name="EdgeImage">EdgeImage</a></h2>
332<div class="doc-section">
333
334<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>
335
336<p>The format of the EdgeImage method is:</p>
337
338<pre class="code">
339 Image *EdgeImage(const Image *image,const double radius,
340 ExceptionInfo *exception)
341</pre>
342
343<p>A description of each parameter follows:</p></ol>
344
345<h5>image</h5>
346<ol><p>the image.</p></ol>
347
348<h5>radius</h5>
349<ol><p>the radius of the pixel neighborhood.</p></ol>
350
351<h5>exception</h5>
352<ol><p>return any errors or warnings in this structure.</p></ol>
353
354 </div>
355<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
356_8c.html" target="source" name="EmbossImage">EmbossImage</a></h2>
357<div class="doc-section">
358
359<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>
360
361<p>The format of the EmbossImage method is:</p>
362
363<pre class="code">
364 Image *EmbossImage(const Image *image,const double radius,
365 const double sigma,ExceptionInfo *exception)
366</pre>
367
368<p>A description of each parameter follows:</p></ol>
369
370<h5>image</h5>
371<ol><p>the image.</p></ol>
372
373<h5>radius</h5>
374<ol><p>the radius of the pixel neighborhood.</p></ol>
375
376<h5>sigma</h5>
377<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
378
379<h5>exception</h5>
380<ol><p>return any errors or warnings in this structure.</p></ol>
381
382 </div>
383<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy16ff93c2010-01-13 23:18:07 +0000384_8c.html" target="source" name="FilterImage">FilterImage</a></h2>
385<div class="doc-section">
386
387<p>FilterImage() applies a custom convolution kernel to the image.</p></ol>
388
389<p>The format of the FilterImage method is:</p>
390
391<pre class="code">
cristy488844c2010-01-22 14:02:05 +0000392 Image *FilterImage(const Image *image,const KernelInfo *kernel,
cristy16ff93c2010-01-13 23:18:07 +0000393 ExceptionInfo *exception)
394 Image *FilterImageChannel(const Image *image,const ChannelType channel,
cristy488844c2010-01-22 14:02:05 +0000395 const KernelInfo *kernel,ExceptionInfo *exception)
cristy16ff93c2010-01-13 23:18:07 +0000396</pre>
397
398<p>A description of each parameter follows:</p></ol>
399
400<h5>image</h5>
401<ol><p>the image.</p></ol>
402
403<h5>channel</h5>
404<ol><p>the channel type.</p></ol>
405
406<h5>kernel</h5>
407<ol><p>the filtering kernel.</p></ol>
408
409<h5>exception</h5>
410<ol><p>return any errors or warnings in this structure.</p></ol>
411
412 </div>
413<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
cristy3ed852e2009-09-05 21:47:34 +0000414_8c.html" target="source" name="GaussianBlurImage">GaussianBlurImage</a></h2>
415<div class="doc-section">
416
417<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>
418
419<p>The format of the GaussianBlurImage method is:</p>
420
421<pre class="code">
422 Image *GaussianBlurImage(const Image *image,onst double radius,
423 const double sigma,ExceptionInfo *exception)
424 Image *GaussianBlurImageChannel(const Image *image,
425 const ChannelType channel,const double radius,const double sigma,
426 ExceptionInfo *exception)
427</pre>
428
429<p>A description of each parameter follows:</p></ol>
430
431<h5>image</h5>
432<ol><p>the image.</p></ol>
433
434<h5>channel</h5>
435<ol><p>the channel type.</p></ol>
436
437<h5>radius</h5>
438<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
439
440<h5>sigma</h5>
441<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
442
443<h5>exception</h5>
444<ol><p>return any errors or warnings in this structure.</p></ol>
445
446 </div>
447<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
448_8c.html" target="source" name="MedianFilterImage">MedianFilterImage</a></h2>
449<div class="doc-section">
450
451<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>
452
453<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>
454
455<p>The format of the MedianFilterImage method is:</p>
456
457<pre class="code">
458 Image *MedianFilterImage(const Image *image,const double radius,
459 ExceptionInfo *exception)
460</pre>
461
462<p>A description of each parameter follows:</p></ol>
463
464<h5>image</h5>
465<ol><p>the image.</p></ol>
466
467<h5>radius</h5>
468<ol><p>the radius of the pixel neighborhood.</p></ol>
469
470<h5>exception</h5>
471<ol><p>return any errors or warnings in this structure.</p></ol>
472
473 </div>
474<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
475_8c.html" target="source" name="MotionBlurImage">MotionBlurImage</a></h2>
476<div class="doc-section">
477
478<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>
479
480<p>Andrew Protano contributed this effect.</p></ol>
481
482<p>The format of the MotionBlurImage method is:</p>
483
484<pre class="code">
485 Image *MotionBlurImage(const Image *image,const double radius,
486 const double sigma,const double angle,ExceptionInfo *exception)
487 Image *MotionBlurImageChannel(const Image *image,const ChannelType channel,
488 const double radius,const double sigma,const double angle,
489 ExceptionInfo *exception)
490</pre>
491
492<p>A description of each parameter follows:</p></ol>
493
494<h5>image</h5>
495<ol><p>the image.</p></ol>
496
497<h5>channel</h5>
498<ol><p>the channel type.</p></ol>
499
500<h5>radius</h5>
501<ol><p>the radius of the Gaussian, in pixels, not counting the center</p>
502<h5>radius</h5>
503<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
504
505<h5>sigma</h5>
506<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
507
508<h5>angle</h5>
cristyeaedf062010-05-29 22:36:02 +0000509<ol><p>Apply the effect along this angle.</p></ol>
cristy3ed852e2009-09-05 21:47:34 +0000510
511<h5>exception</h5>
512<ol><p>return any errors or warnings in this structure.</p></ol>
513
514 </div>
515<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
516_8c.html" target="source" name="PreviewImage">PreviewImage</a></h2>
517<div class="doc-section">
518
519<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>
520
521<p>The format of the PreviewImages method is:</p>
522
523<pre class="code">
524 Image *PreviewImages(const Image *image,const PreviewType preview,
525 ExceptionInfo *exception)
526</pre>
527
528<p>A description of each parameter follows:</p></ol>
529
530<h5>image</h5>
531<ol><p>the image.</p></ol>
532
533<h5>preview</h5>
534<ol><p>the image processing operation.</p></ol>
535
536<h5>exception</h5>
537<ol><p>return any errors or warnings in this structure.</p></ol>
538
539 </div>
540<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
541_8c.html" target="source" name="RadialBlurImage">RadialBlurImage</a></h2>
542<div class="doc-section">
543
544<p>RadialBlurImage() applies a radial blur to the image.</p></ol>
545
546<p>Andrew Protano contributed this effect.</p></ol>
547
548<p>The format of the RadialBlurImage method is:</p>
549
550<pre class="code">
551 Image *RadialBlurImage(const Image *image,const double angle,
552 ExceptionInfo *exception)
553 Image *RadialBlurImageChannel(const Image *image,const ChannelType channel,
554 const double angle,ExceptionInfo *exception)
555</pre>
556
557<p>A description of each parameter follows:</p></ol>
558
559<h5>image</h5>
560<ol><p>the image.</p></ol>
561
562<h5>channel</h5>
563<ol><p>the channel type.</p></ol>
564
565<h5>angle</h5>
566<ol><p>the angle of the radial blur.</p></ol>
567
568<h5>exception</h5>
569<ol><p>return any errors or warnings in this structure.</p></ol>
570
571 </div>
572<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
573_8c.html" target="source" name="ReduceNoiseImage">ReduceNoiseImage</a></h2>
574<div class="doc-section">
575
576<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>
577
578<p>The format of the ReduceNoiseImage method is:</p>
579
580<pre class="code">
581 Image *ReduceNoiseImage(const Image *image,const double radius,
582 ExceptionInfo *exception)
583</pre>
584
585<p>A description of each parameter follows:</p></ol>
586
587<h5>image</h5>
588<ol><p>the image.</p></ol>
589
590<h5>radius</h5>
591<ol><p>the radius of the pixel neighborhood.</p></ol>
592
593<h5>exception</h5>
594<ol><p>return any errors or warnings in this structure.</p></ol>
595
596 </div>
597<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
598_8c.html" target="source" name="SelectiveBlurImage">SelectiveBlurImage</a></h2>
599<div class="doc-section">
600
601<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>
602
603<p>The format of the SelectiveBlurImage method is:</p>
604
605<pre class="code">
606 Image *SelectiveBlurImage(const Image *image,const double radius,
607 const double sigma,const double threshold,ExceptionInfo *exception)
608 Image *SelectiveBlurImageChannel(const Image *image,
609 const ChannelType channel,const double radius,const double sigma,
610 const double threshold,ExceptionInfo *exception)
611</pre>
612
613<p>A description of each parameter follows:</p></ol>
614
615<h5>image</h5>
616<ol><p>the image.</p></ol>
617
618<h5>channel</h5>
619<ol><p>the channel type.</p></ol>
620
621<h5>radius</h5>
622<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
623
624<h5>sigma</h5>
625<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
626
627<h5>threshold</h5>
628<ol><p>only pixels within this contrast threshold are included in the blur operation.</p></ol>
629
630<h5>exception</h5>
631<ol><p>return any errors or warnings in this structure.</p></ol>
632
633 </div>
634<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
635_8c.html" target="source" name="ShadeImage">ShadeImage</a></h2>
636<div class="doc-section">
637
638<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>
639
640<p>The format of the ShadeImage method is:</p>
641
642<pre class="code">
643 Image *ShadeImage(const Image *image,const MagickBooleanType gray,
644 const double azimuth,const double elevation,ExceptionInfo *exception)
645</pre>
646
647<p>A description of each parameter follows:</p></ol>
648
649<h5>image</h5>
650<ol><p>the image.</p></ol>
651
652<h5>gray</h5>
653<ol><p>A value other than zero shades the intensity of each pixel.</p></ol>
654
655<h5>azimuth, elevation</h5>
656<ol><p>Define the light source direction.</p></ol>
657
658<h5>exception</h5>
659<ol><p>return any errors or warnings in this structure.</p></ol>
660
661 </div>
662<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
663_8c.html" target="source" name="SharpenImage">SharpenImage</a></h2>
664<div class="doc-section">
665
666<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>
667
668<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>
669
670<p>The format of the SharpenImage method is:</p>
671
672<pre class="code">
673 Image *SharpenImage(const Image *image,const double radius,
674 const double sigma,ExceptionInfo *exception)
675 Image *SharpenImageChannel(const Image *image,const ChannelType channel,
676 const double radius,const double sigma,ExceptionInfo *exception)
677</pre>
678
679<p>A description of each parameter follows:</p></ol>
680
681<h5>image</h5>
682<ol><p>the image.</p></ol>
683
684<h5>channel</h5>
685<ol><p>the channel type.</p></ol>
686
687<h5>radius</h5>
688<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
689
690<h5>sigma</h5>
691<ol><p>the standard deviation of the Laplacian, in pixels.</p></ol>
692
693<h5>exception</h5>
694<ol><p>return any errors or warnings in this structure.</p></ol>
695
696 </div>
697<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
698_8c.html" target="source" name="SpreadImage">SpreadImage</a></h2>
699<div class="doc-section">
700
701<p>SpreadImage() is a special effects method that randomly displaces each pixel in a block defined by the radius parameter.</p></ol>
702
703<p>The format of the SpreadImage method is:</p>
704
705<pre class="code">
706 Image *SpreadImage(const Image *image,const double radius,
707 ExceptionInfo *exception)
708</pre>
709
710<p>A description of each parameter follows:</p></ol>
711
712<h5>image</h5>
713<ol><p>the image.</p></ol>
714
715<h5>radius</h5>
716<ol><p>Choose a random pixel in a neighborhood of this extent.</p></ol>
717
718<h5>exception</h5>
719<ol><p>return any errors or warnings in this structure.</p></ol>
720
721 </div>
722<h2><a href="http://www.imagemagick.org/api/MagickCore/effect
723_8c.html" target="source" name="UnsharpMaskImage">UnsharpMaskImage</a></h2>
724<div class="doc-section">
725
726<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>
727
728<p>The format of the UnsharpMaskImage method is:</p>
729
730<pre class="code">
731 Image *UnsharpMaskImage(const Image *image,const double radius,
732 const double sigma,const double amount,const double threshold,
733 ExceptionInfo *exception)
734 Image *UnsharpMaskImageChannel(const Image *image,
735 const ChannelType channel,const double radius,const double sigma,
736 const double amount,const double threshold,ExceptionInfo *exception)
737</pre>
738
739<p>A description of each parameter follows:</p></ol>
740
741<h5>image</h5>
742<ol><p>the image.</p></ol>
743
744<h5>channel</h5>
745<ol><p>the channel type.</p></ol>
746
747<h5>radius</h5>
748<ol><p>the radius of the Gaussian, in pixels, not counting the center pixel.</p></ol>
749
750<h5>sigma</h5>
751<ol><p>the standard deviation of the Gaussian, in pixels.</p></ol>
752
753<h5>amount</h5>
754<ol><p>the percentage of the difference between the original and the blur image that is added back into the original.</p></ol>
755
756<h5>threshold</h5>
757<ol><p>the threshold in pixels needed to apply the diffence amount.</p></ol>
758
759<h5>exception</h5>
760<ol><p>return any errors or warnings in this structure.</p></ol>
761
762 </div>
cristy3eaa0ef2010-03-06 20:35:26 +0000763
764</div>
765
766<div id="linkbar">
cristyce69bb02010-07-27 19:49:46 +0000767 <span id="linkbar-west">&nbsp;</span>
cristy3eaa0ef2010-03-06 20:35:26 +0000768 <span id="linkbar-center">
769 <a href="http://www.imagemagick.org/discourse-server/">Discourse Server</a> &bull;
cristya8902942010-07-30 00:49:52 +0000770 <a href="http://www.imagemagick.org/MagickStudio/scripts/MagickStudio.cgi">Studio</a>
cristy3eaa0ef2010-03-06 20:35:26 +0000771 </span>
772 <span id="linkbar-east">&nbsp;</span>
773 </div>
774 <div class="footer">
775 <span id="footer-west">&copy; 1999-2010 ImageMagick Studio LLC</span>
776 <span id="footer-east"> <a href="../http://www.imagemagick.org/script/contact.php">Contact the Wizards</a></span>
777 </div>
778 <div style="clear: both; margin: 0; width: 100%; "></div>
cristya8902942010-07-30 00:49:52 +0000779 <script type="text/javascript">
780 var _gaq = _gaq || [];
781 _gaq.push(['_setAccount', 'UA-17690367-1']);
782 _gaq.push(['_trackPageview']);
783
784 (function() {
785 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
786 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
787 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
788 })();
789 </script>
cristy3eaa0ef2010-03-06 20:35:26 +0000790</body>
791</html>