4

(標準のドキュメントフォントサイズの)テキストを含む画像があり、テキストが読めなくなるように画像をぼかしようとしています。

ただし、PILのデフォルトのImageFilter.BLURは強すぎるため、あちこちで1つのピクセルを除いて、画像は空白になっています。

PILのどこかに弱いBLURがありますか?それとも、より良いフィルター/より良い方法がありますか?

4

1 に答える 1

5

BLURのプリセットImageFilter.Kernelです:

class BLUR(BuiltinFilter):
    name = "Blur"
    filterargs = (5, 5), 16, 0, (
        1,  1,  1,  1,  1,
        1,  0,  0,  0,  1,
        1,  0,  0,  0,  1,
        1,  0,  0,  0,  1,
        1,  1,  1,  1,  1
        )

ここで、BuiltinFilterは、コンストラクターをバイパスするカーネルの単純なカスタマイズサブクラスであり、、、、を含みfilterargsます。言い換えれば、次のようになります。sizescaleoffsetkernelBLUR

BLUR = Kernel((5, 5), (1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1))

スケールは16、オフセットと同様に、デフォルト(、25の重みの合計)に設定されます。

代わりに、より小さなカーネルを試して使用することができます。

mildblur = Kernel((3, 3), (1, 1, 1, 1, 0, 1, 1, 1, 1))

または、スケールとオフセットの値を試してみてください。

于 2012-05-30T09:53:38.723 に答える