ImageMagick の例 --
画像のぼかしとシャープ化
- 目次
-
ImageMagick の例 序文と目次
-
画像のぼかし
-
画像のシャープ化 (開発中)
-
影の生成
-
特殊なぼかし
-
ぼかしを使用した形状のフェザリング (開発中)
-
関連する演算子 (開発中)
画像のぼかし
画像をぼかして曖昧にすることは、あまり役に立つ操作のように思えないかもしれませんが、実際には背景効果や影の生成に非常に役立ちます。「ジャギー」の影響を滑らかにし、画像の端をアンチエイリアス処理したり、特徴を丸めてハイライト効果を生み出すのにも非常に役立ちます。ぼかしは非常に重要であるため、画像のサイズ変更の不可欠な部分ですが、異なるぼかし方法であり、元の画像の単一ピクセルの境界内に制限されています。ImageMagickには、2つの一般的な画像ぼかし演算子があります。「-gaussian-blur
」と「-blur
」です。2つの結果は非常に近いですが、「-blur
」の方がアルゴリズムが高速であるため、前者の方が数学的に正確であるにもかかわらず、一般的には前者の方が好まれます。(ぼかしとガウスぼかし演算子の比較を参照)。ぼかし/ガウスぼかしの引数
「-blur
」と「-gaussian-blur
」の引数は同じですが、画像処理に慣れていない人にとっては、引数の値が分かりにくい場合があります。-blur {radius}x{sigma}上記で重要な設定は2番目のシグマ値です。これは、画像をどれだけ「拡散」またはぼかすか(ピクセル単位)の近似値と考えることができます。画像をぼかすために使用するブラシのサイズと考えてください。数値は浮動小数点値なので、「
0.5
」のような非常に小さな値を使用できます。最初の値である半径も重要で、演算子がピクセルの拡散時に参照する領域の大きさを制御します。この値は通常「0
」にするか、少なくともシグマの2倍にする必要があります。オプションの効果を示すために、周囲に多くのスペースがあるこの単純な画像(ぼかし演算子は動作するために多くのスペースを必要とします)を取り上げ、さまざまな演算子設定の結果の表を作成します。また、太線と細線の両方を含むフォントを意図的に使用して、小さな線の詳細と大きな色の領域のぼかしを確認します。
|
![]() |
1
」のような非常に小さな半径を使用すると、ぼかしは各ピクセルの直近の隣接ピクセル内に効果的に制限されます。シグマは浮動小数点数ですが、半径は浮動小数点数ではないことに注意してください。浮動小数点値が与えられる(または内部的に計算される)場合、それは最も近い整数に切り上げられ、「近傍」のぼかしが決定されます。各隣接ピクセルが最終結果にどの程度寄与するかは、依然としてシグマによって制御されます。非常に小さなシグマ(「1
」未満)は、それらの寄与を少量に制限しますが、より大きなシグマは、すべての隣接ピクセルからより均等な量を寄与します。「65355
」という最大のシグマは、正方形の近傍内のすべてのピクセルの単純な平均値を生成します。また、半径が小さめでシグマが大きい場合、ぼかしの結果にアーチファクトが表示されることに注意してください。「-blur 5x8
」の出力で特に顕著です。これは、小さな正方形の近傍がぼかしの領域を「切り取る」ことによって、ぼかしの滑らかなガウスカーブに突然の停止が生じ、その結果、シャープなエッジにリンギングアーチファクトが発生することによって引き起こされます。そのため…
ぼかしでは、半径をシグマより小さくしないでください。
理想的な解決策は、上記表の最後の行に示されているように、半径を「0x
」に設定することです。その場合、演算子は与えられたシグマに対して最適な半径を自動的に決定しようとします。IMが使用する最小半径は3であり、通常はIM Q16バージョンの場合は3 * シグマです(IM Q8の場合は精度が低いため、より小さな半径が使用されます)。私がゼロ以外の半径を使用するのは、非常に小さなシグマの場合や特殊なぼかしの場合だけです。そのため…
可能であれば、ぼかし操作には半径をゼロにしてください。
シグマの小さな値は、通常、アンチエイリアシングが使用されていない画像の線をぼかしたり、エッジを滑らかにするのにのみ使用されます(詳細についてはアンチエイリアシングを参照)。その状況では、「1x0.3
」のぼかしが、画像のほとんどの「ジャギー」を除去するのに役立つ値であることがわかりました。しかし、大きな値は、背景や影の効果(複合フォントを参照)、または画像のハイライト効果(高度な例ページで示されているように)を作成するのに役立ちます。IMが「x
」スタイルの引数を処理する方法により、上記ではシグマはオプションです。しかし、それはより重要な値であるため、半径がオプションであるべきです。なぜなら、半径は自動的に決定できるからです。そのため、このタイプの畳み込み演算子への単一値の引数は役に立ちません。これは、非常に長い間このようになっているため、多くのものを壊してしまうため、変更される可能性は低いです。 ぼかしはチャンネル設定を使用します
ぼかしを示すために、明るい青色の背景にぼやけた黒い円を生成することから始めましょう…
|
![]() ![]() |
|
![]() ![]() |
-blur
」はグレースケールチャンネル演算子であるため、「-channel
」設定によって、3つのカラーチャンネルのみに制限されます。つまり、画像の3つのカラーチャンネルのみがぼかされ、画像の透明度またはアルファチャンネルはそのまま残されます。ただし、上記では、画像は「none
」の色(IMは完全に透明な黒として定義しています)の背景キャンバスに完全に不透明な円です!つまり、一部が不透明で、一部が透明な、すべての色が黒の画像があります。その結果、画像をぼかしたときに、黒を黒でぼかしただけになり、予想どおり黒になりました!したがって、結果は色の変化がありませんでした。また、画像のアルファまたは透明度チャンネルには触れていなかったので、画像の透明度は変化しませんでした。つまり、黒い円です!実際にやりたかったことは、4つの画像チャンネルすべて、特にアルファチャンネルをぼかすことです。これを行うには、「-channel
」設定を画像の4つのチャンネルすべてに設定します(例:値「RGBA
」を使用)。
|
![]() |
透明な画像をぼかす場合は、常に「
-channel RGBA
」設定を使用してください。
![]() ![]() |
IMバージョン5.5.7では、4つのカラーチャンネルすべてが自動的にぼかされましたが、演算子には透明な画像に対して他のバグのある効果があります。詳細については透明度バグのあるぼかしを参照してください。 |
![]() ![]() |
GIFやJPEGなどの一部の画像形式は、半透明のピクセルを処理しません。したがって、可能であれば、半透明の色のある画像にはPNG形式を使用することをお勧めします。 |
-channel
」設定は、「-blur
」などのグレースケール演算子にとって非常に重要です。しかし、そのような演算子を使用する際に重要になる可能性のある唯一のものではありません。たとえば、最後の「「-channel
」設定を忘れた」例をもう一度試してみましょう。今回は黄色の円を使用します。
|
![]() ![]() |
透明なピクセルには色があります。たとえそれが見えないとしても。
上記の場合、その透明な色は黒であり、黄色の円に漏れていました。もちろん、「-channel
」設定を透明な画像に対して正しく設定することで、問題は期待どおりに動作します。
|
![]() |
ぼかしの内部処理
さらに複雑な例を使用して、このステップを進めてみましょう。これにより、「-blur
」が内部的に正確に何をしているのかを調べることができます。ここでは、完全に透明な赤い背景に描かれた黄色の円の非常に特別な画像を作成します。これにより、透明な色が画像のぼかしにどのように影響するかを確認できます。
|
![]() |
-alpha off
」演算子を使用して、画像のアルファチャンネルを効果的に削除することで、画像の透明な部分の色を確認できます。
|
![]() |
RGB
」、「-channel
」設定を使用して、画像の色だけをもう一度ぼかしてみましょう。
|
![]() |
|
![]() |
-blur
」演算子がアルファチャンネルが関与していること(現在の「-channel
」設定による)を検出すると、そのアルファチャンネルに従って見えるピクセルのみを使用してぼかすためです。アルファチャンネルが関与していない場合、完全に無視され、完全に透明な赤は黄色とぼかされてさまざまな色のオレンジが生成されます。基本的に、ぼかしアルゴリズムは、画像内の完全に透明なピクセルをすべて無視するように変更されており、どのような色であっても関係ありません。半透明のピクセルはまだ関与していますが、結果への影響も、その視認性によって調整されます。その結果、円はぼやけた半透明の黄色のスポットになります。おそらくユーザーが達成しようとしていたものです。本当に必要な場合は、色とアルファチャンネルの両方を個別にぼかすことができ、それによってアルゴリズムの「視認性調整」をカラーチャンネルから効果的に切り離すことができます。その結果は、汚れた茶色の霞を通して太陽が輝いているようなものです。
|
![]() |
-channel
" 設定は 'RGB
' であるため、デフォルトではアルファチャンネルはぼかし処理されず、さらに、画像内の不可視の色は可視の色と共にぼかし処理されることに注意してください。"-blur
" がもはや常に純粋なグレースケール演算子ではないことを嬉しく思っていただけるのではないでしょうか。もちろん、どうしてもそのように使用することもできます。しかし、常にこの選択肢があったわけではありません...![]() ![]() |
IM バージョン 6.2.4-4 より前では、"-blur " と "-gaussian-blur " 演算子は純粋なグレースケール演算として適用され、アルファチャンネルの「可視性」に従って色の重みを調整しませんでした。その結果、透明度を伴うぼかし処理は、ほとんどの場合、前の例で意図的に生成されたようなひどい「黒いハロー」効果を生み出しました。これは、IM ディストリビューションにおける長期間にわたる重大なバグと分類され、回避策を見つけるのが非常に困難でした。この問題の詳細については、透明度を伴うぼかしのバグ ページを参照してください。 |
FUTURE: Blur and Trimming Images.
ぼかしとガウスぼかし演算子の比較
"-blur
" と "-gaussian-blur
" のどちらの演算子が画像のぼかしに適しているかについて、混乱がありました。まず、"-blur
" は高速ですが、これは2段階の手法を使用しています。最初に1つの軸で、次に別の軸で行われます。"-gaussian-blur
" 演算子は、一方では、すべての向きに同時にぼかすため、数学的により正確です。2つの間の速度差は、ぼかしの量に応じて、10倍以上にもなる可能性があります。より技術的な文脈では、"-blur
" は2パス、1次元直交畳み込みフィルタであるのに対し、"-gaussian-blur
" は2次元円筒畳み込みフィルタです。畳み込みの詳細については、を参照してください。他の「フィルタリングされた」畳み込み演算の使用とは異なり、2つの方法の結果は同じであるはずです。しかし、2パスシステムは、丸めまたは量子効果が発生する中間段階があることを意味します。Cristy もこのことを報告した際に裏付けています…速度が速いため、"-blur
" を "-gaussian-blur
" の代わりに常に使用する必要があります。丸めにより内部のピクセルが異なり、中間段階での仮想ピクセルのエッジ効果の損失により、エッジピクセルが異なる場合があります。要約すると、2つの演算子はわずかに異なりますが、最小限です。"-blur
" ははるかに高速であるため、使用してください。ぼかしを含むほとんどすべての例で使用しています。リサイズを使用した大きなぼかし
画像のぼかしに大きなシグマ値を使用すると非常に遅くなります。しかし、このプロセスを高速化するために1つの手法を使用できます。ただし、これは粗い方法であり、結果を改善するために数学的な厳密さが必要です。本質的に、大きなぼかしが遅い理由は、画像内のすべてのピクセルに対して、多数のピクセルをマージするための大きなウィンドウまたは「カーネル」が必要になるためです。しかし、リサイズ(画像の縮小)は同じことを行いますが、その過程で生成されるピクセル数は少なくなります。この手法は基本的に、画像を縮小してから拡大して、大きくぼかした結果を生成することです。ガウスフィルタは、ガウスシグマを直接指定できるため、特に役立ちます。たとえば、ここでは、2つの方法を使用して、小さなバラの画像をシグマ値5でぼかします。
magick rose: -blur 0x5 rose_blur_5.png magick rose: -filter Gaussian -resize 50% \ -define filter:sigma=2.5 -resize 200% rose_resize_5.png |
![[IM Output]](../images/rose.png)

![[IM Output]](rose_blur_5.png)
![[IM Output]](rose_resize_5.png)
画像のシャープ化


The most important factor is the sigma. As it is the real control of the sharpening operation. It is only due to historical accident it is the second term in the above. It can be any floating point value from .1 for practically no sharpening to 3 or more for sever sharpening. 0.5 to 1.0 is rather good. Radius is just a limit of the effect as is the threshold. Radius is only in integer units as that is the way the algorithm works, the larger it is the slower it is. But it should be at a minimum 1 or better still 2 times the sigma.最初の数字は無視して、0を使用してください。そうすると、指定した「シグマ」係数に最適な数値が使用されます。シグマが大きいほど、シャープ化の効果が高まります。
-sharpen 0x.4 | 非常に小さい |
-sharpen 0x1.0 | 約1ピクセルサイズのシャープ化 |
-sharpen 0x3.0 | おそらく大きすぎる |
-sharpen
" 演算子は、ある種の逆ぼかしです。実際、ほぼ同じように機能します。ぼかしとの関連を示す例については、補間と外挿による画像処理を参照してください。たとえば、単純な画像をぼかしてから、ぼかしを削除するために再度シャープ化してみましょう。
magick -font Gecko -pointsize 72 label:A A_original.jpg magick A_original.jpg -blur 0x3 A_blur.jpg magick A_blur.jpg -sharpen 0x3 A_blur_sharp.jpg magick A_blur_sharp.jpg -sharpen 0x3 A_blur_sharp_x2.jpg |
![[IM Output]](A_original.jpg)

![[IM Output]](A_blur.jpg)

![[IM Output]](A_blur_sharp.jpg)

![[IM Output]](A_blur_sharp_x2.jpg)
画像のアンシャープ化


-sharpen
" と "-unsharp
" の両方の演算子は、ぼかしを元の画像から差し引くというまったく同じ手法を使用して機能します。"-sharpen
" と "-unsharp
" の実際の動作に関する内部の詳細については、アンシャープ畳み込みを参照してください。
From comments on Sharpening with ImageMagick from Alex Beels Matching GIMP unsharp Take gimp radius and add 1 => IM sigma Threshold divide by 255 => IM Threshold So GIMP radius=2 amount=1.5 threshold=5 results in -unsharp 0×3+1.5+0.0196 Another suggested that im_sigma = sqrt(gimp_radius) Raw notes from Fred Weinhaus Blur Image for test. A_original.jpg magick A_original.jpg -blur 0x3 A_original_blur3.jpg sharpen is just a gaussian type blurred image subtracted from the image to make an edge image (high pass filter), then equally blends that back with the original, so one has a high pass enhanced image. magick A_original_blur3.jpg -sharpen 0x3 A_original_blur3_sharp3.jpg unsharp is more complex. It is similar. It takes the difference (edge result) as above, i.e. like sharpen BUT only blends some fraction or multiple of that with the original image, AND only if the difference is above a threshold. Thus unsharp 0x3+1+0 is basically the same as sharpen 0x3 magick A_original_blur3.jpg -unsharp 0x3+1+0 A_original_blur3_unsharp3_1_0.jpg compare -metric rmse A_original_blur3_sharp3.jpg A_original_blur3_unsharp3_1_0.jpg null: 164.661 (0.00251256) The difference may be due to whether one uses a separable (gaussian) blur filter or not in one or the other but not both. Or it could be just some slight differences elsewhere in the IM implementation. If one blends less with the original, one gets less sharpening. magick A_original_blur3.jpg -unsharp 0x3+0.5+0 A_original_blur3_unsharp3_0p5_0.jpg If one blends more with the original, one gets more sharpening. magick A_original_blur3.jpg -unsharp 0x3+2+0 A_original_blur3_unsharp3_2_0.jpg If one increases the threshold, then one gets less sharpening again. magick A_original_blur3.jpg -unsharp 0x3+2+0.2 A_original_blur3_unsharp3_2_0p2.jpg Several of my (Fred's) scripts, binomialedge, gaussianedge, sharpedge use this blending concept (between the high pass filtered result and the original image) and a description is there with the scripts. The thresholding in my scripts is done differently and for a different purpose. Sharpen using de-convolution There is a technique of using de-convolution (division in a Fast-Fourier generated frequency form of images), This works best when the exact 'blur' that was applied to the original image is known, or calculated in some way. At the moment only raw 'DIY' methods are as yet available in IM and a number of such methods are demonstrated (trialed) in the sub-section Fourier Multiply/Divide.
影の生成
"-shadow
" 演算子は、IM のサンプルページで開発された高度な演算子です。基本的に、これは、指定された画像の透明形状の非常に複雑なぼかしと色の再設定を表しています。これは IM ユーザーが常に実行していた操作ですが、正しく達成する方法を理解するにはかなりの知識が必要でした。この演算子は、画像(通常はクローンであり、既に透明度がある場合もあります)を取得し、それを影の画像に変換します。この影の画像は、指定されたオフセットで元の画像の下に配置できます(一般的には特別なレイヤーマージ演算子を使用して)。たとえば、このウェブページに合わせてネイビーの影の色を使用して、既存の画像に影を付ける標準的な方法を次に示します。
|
![]() |
|
![]() |
-layers merge
" を使用して影の画像と元の画像をレイヤー化すると、左上だけでなく、任意の方向からの光源からの影を簡単に生成できます。
|
![]() |
+repage
" によって結果の「レイヤー」画像に存在する可能性のある負または正のオフセットが削除されるために発生します。代替手法については、影とオフセットの問題を参照してください。![]() ![]() |
レイヤーマージメソッドは、IM v6.3.6-2に追加されました。それ以前は、同様のレイヤーフラットニング演算子 "-mosaic " を代わりに使用する必要がありました。しかし、この演算子には問題があります(次を参照)。 |
形状のある影
さて、"-shadow
" は、シェイプされた画像を念頭に置いて設計されました(これがその複雑さの理由です)。たとえば、ここに典型的な影付きフォントがあります。DstOver
」合成方法を使用するため、2つの画像の順序を入れ替える必要がありません。
|
![]() |
影とオフセットの問題
影の問題は、ぼやけた影があらゆる方向に広がることです。これを補うために、"-shadow
" 演算子は、指定されたぼかしの「シグマ」値の2倍のサイズのボーダーを追加することで、実際の元の画像を拡大します。つまり、「x3
」を使用して影をぼかす場合、画像は12ピクセル(各辺に3ピクセルの2倍)拡大されます。この拡大を補うために、影の画像には適切な負の仮想キャンバスオフセットも与えられます。これにより、影を付ける画像に対して正しく配置されます。通常の画像の場合、生成される影の画像は負のオフセットを持つことになります。ただし、IM に "-layers
" メソッドの 'merge
' がない場合、問題が発生します。たとえば、ここでは、光が右上から照らされているかのように、画像の左側に影を追加しようとします。
|
![]() |
-mosaic
」演算子によってクリップされているのが分かると思います。これは負のオフセットが原因です。良くありません!解決策の1つは、元の画像に初期オフセットを追加して、結果として得られる影画像のオフセットが負にならないようにすることです。
|
![]() |
-mosaic
」で合成する前に、負のオフセットがなくなります。「-repage
」に'!
'フラグを使用して、両方の画像に指定されたオフセットを追加することに注意してください。
|
![]() |
|
![]() |
![]() ![]() |
上記では「-compose Over 」設定は実際には必要ありませんが、推奨されます。そうでないと、後続の処理(他の「magick 」コマンド内でも)に影響し、予期しない結果になる可能性があります。つまり、非標準の合成設定は、画像の重ね合わせ、境界線やフレームの追加、または単なる他の合成など、他の処理に影響を与える可能性があります。 |
影と合成
フォーラムの多くの人が、影の画像を生成し、その後、下位レベルの「-composite
」を使用して画像をマージしようとしています。例えば、生成された(より大きい)影の画像に元の画像を直接重ねます。
|
![]() |
-gravity Center
」設定を使用するのが最も簡単な方法です。
|
![]() |
影の輪郭
テキストなど、図形のぼやけた輪郭を生成するために「-shadow
」を使用することもできます。レイヤーのマージを使用すると、IMは半透明のぼかしに必要な余分なスペースを自動的に追加します。
|
![]() |
|
![]() |
-shadow
」で生成されたオフセット(「+repage
」を使用)を破棄し、より大きな影の画像に元の画像を中心揃えで重ね合わせることです。「-geometry
」合成オフセットを追加することで、影を個別の処理としてオフセットできます。
|
![]() |
x0
'を使用)には使用できません。ただし、元の画像を重ね合わせるためのスペースを影の画像に追加しない限り。ただし、ソフトなぼやけた影では、めったに問題にはなりません。影付けの実用的な例については、サムネイルの影付けとより良い3Dロゴの生成を参照してください。モンタージュコマンドにおける影
IM v6.3.1以降、「magick montage
」の「-shadow
」設定は、この演算子が提供するソフトな「シェイプ」の影を使用し始めました。
|
![]() |
magick montage
」は単純なオン/オフオプションを超えたそのような制御を提供したことがないため、その影の色、ぼかし、オフセットを設定するための制御は提供されていません。影の内部処理
内部的には、「-shadow
」は非常に複雑です。基本的に、「ソフトなぼやけた影」に対応するために画像を拡大する必要があるだけでなく、画像の既存の形状をぼかしたり、色を適切に設定したり、最後に仮想ページ/キャンバスのオフセットを調整したりする必要もあります。すべてユーザーの仕様に従ってです。例えば、次の「-shadow
」コマンドの場合...
magick image_clone.png -shadow 60x4+5+5 image_shadow.png |
magick image_clone.png -alpha set \ -bordercolor none -border 8 -repage -8-8\! \ -channel A -virtual-pixel transparent \ -blur 8x4 -evaluate multiply .60 +channel -fill {background_color} -colorize 100% \ -repage +5+5\! image_shadow.png |
![]() ![]() |
PNG形式とMIFF形式は、負のオフセットと半透明のピクセルを処理できることが分かっている唯一の画像形式です。将来の使用のために、影の画像を保存する場合はPNGを使用することをお勧めします。 |
-shadow
」は非常に複雑な操作です。もちろん、上記の例は「-shadow
」が内部的に行うことに近いものの、全く同じではありません。「-shadow
」演算子は、境界線/背景/塗りつぶしの色、現在の仮想ピクセル設定など、グローバル設定を変更しません。また、ぼかしシグマが0に設定されている場合、「-blur
」演算子の使用を短絡して、ぼかし関数がゼロのシグマまたは半径に対して警告を出さないようにします。FUTURE: overlaying multiple shadows Overlaying two images with shadows, produces an unrealistic darkening of the shadow where the shadow overlaps. This darkening would be correct if each object was lit by separate light sources, but more commonly the objects are lit by the same light source. The solution is to overlay the one image over the other, applying the shadow effects to the opaque parts of each layer image in turn. That is, the background shadow should be generated separately into each layer. Remember the shadow cast by the top most layer should become fuzzier than the shadow contribution of the bottom most layer. This complexity gets worse when you have three objects shadowing each other. Also the offset and blurring from the shadow of each object should technically be separate. To generate that level of complexity, probably a 3-d ray-tracing program should be used instead (sigh).
特殊なぼかし
IMバージョン6に追加された、非常に特殊な用途を持つ他のぼかしの種類がいくつかあります。これらは特定の方法で動作し、他のほとんどの「畳み込み」スタイルの操作のように、すべての方向で動作するとは限りません。また、より一般的なぼかしの前後に画像を変形させるなど、他の特殊なぼかし生成方法ほど効果的でない場合があります。例えば、極座標サイクルのトリックと楕円(マッピング)ぼかしを参照してください。
警告:これらのぼかしはすべて実験的であり、構文が変更される可能性があります!
放射状ぼかし
「-radial-blur
」を使用して、まるでグルグルと回転しているかのように、円状に画像をぼかすことができます。技術的には、これは放射状のぼかしではなく、回転または角度のぼかしです。**注記:**脱分極-分極-回転ぼかしテクニックを使用すると、はるかに高品質の結果(ただし、はるかに遅い速度で)を得ることができます。ただし、「-blur
」演算子と同様に、「-radial-blur
」は「-channel
」設定の影響を受けます。
|
![]() |
-radial-blur
」効果を得るために、オブジェクトを中央から外れた位置に配置することができます(画像にスペースを追加することで)。
|
![]() |
|
![]() |
|
![]() |
|
![]() |
完全な円形の放射状ぼかしを使用して、粗い円形のグラデーションを生成できます。ただし、正しいグラデーションを生成する正しい形状を定式化するのは非常に困難であり、おそらく努力に見合うものではありません。それでも試してみました…
|
![]() ![]() |
モーションブラー
「-motion-blur
」を使用して、一方方向に線形にフェードするぼかし(半径とシグマ、およびぼかしが発生する角度)を追加できます。これにより、画像が非常に高速で移動しているかのように見えます。
|
![]() |
-motion-blur
」を複数回再適用することで改善できます。
|
![]() |
|
![]() |
|
![]() |
「-radial-blur」は両方向にぼかしをかけるのに対し、「-motion-blur」は一方向にのみぼかしをかけることに注意してください。どちらの場合も、これらの特殊なぼかしは強いエッジ効果を持つため、避けるのが最善策です。画像の周囲に余分なスペースを追加で追加することをお勧めします(一般的には「-border」を使用)。より実用的または興味深い例や上記の使用方法を見つけた場合は、コピーをメールでお送りください(ページのフッターにアドレスを記載)。
ぼかしを使ったシェイプのフェザリング


たとえば、ここに明るい色の背景に重ね合わせたGIF画像があります。
|
![]() |
しかし、画像の透明度を少しぼかすことで、重ね合わせた画像を背景により滑らかに適合させることができます。
|
![]() |
ぼかしはシェイプ領域の内側と外側に広がるため、シェイプのエッジがゼロ(完全に透明)になるようにアルファチャンネルを調整する必要がありますが、エッジから離れるにつれてすぐに完全に不透明になります。透過処理を使用したCLUTは、このようなアルファチャンネル調整の例です。この調整は非常に重要です。そうでなければ、シェイプの外側の領域を強調する代わりに、シェイプの外側の領域の半透明な影またはハローを追加することになります。基本的に、画像の透明性によって以前に隠されていた半透明の「未定義の色」です。しかし、ぼかしはシェイプの輪郭も滑らかにするという特に厄介な問題があります。たとえば…
|
![]() |
|
![]() |
|
![]() |
関連オペレーター
Basic image modifications -despeckle -enhance -noise -spread -displace -median Set each channel color of the pixel to the median value of all all pixels within a given radius. (median = center most value of all values found, half on one side, half on the other). This is a way of "de-speckling" an image (such a dust in a scan). But could distort edges, cause some color channel aburation, and remove thin lines. This filter is the best technique to use for removing Salt & Pepper noise, especially on gray scale images. It is suggested that a trim for a scan use a median filtered image for attempting to find the appropriate bounding box. -adaptive-sharpen radius x sigma Adjust sharpening so that it is restricted to close to image edges as defined by edge detection. See forum discussion https://magick.imagemagick.org/viewtopic.php?f=1&t=10266 -adaptive-blur radius x sigma Blur images, except close to the edges as defined by an edge detection on the image. Eg make the colors smoother, but don't destroy any sharp edges the image may have. -adaptive-resize Resize but attempt not to blur across sharp color changes