1

画像があります。

その画像をピクセルごとに確認したいと思います。黒でないピクセルはすべて白に変換する必要があります。どうすればよいですか?

(Python)。

ありがとう!

4

3 に答える 3

6

最も効率的な方法は、ポイント関数を使用することです

def only_black(band):
    if band > 0:
        return 255
    return 0
result = im.convert('L').point(only_black)

これは、PILドキュメントがこれについて述べていることです。

バイレベル画像(モード「1」)に変換する場合、ソース画像は最初に白黒に変換されます。次に、127より大きい結果の値が白に設定され、画像がディザリングされます。他のしきい値を使用するには、ポイント方式を使用します。

于 2009-07-03T17:36:23.150 に答える
3

pointこのために特別に存在する関数を使用する必要があります。

converter= ( (0,) + 255*(255,) ).__getitem__
def black_or_white(img):
    return img.convert('L').point(converter)
于 2009-07-03T18:42:59.830 に答える
1

次のライブラリを確認することをお勧めします。

http://effbot.org/imagingbook/image.htm

特に:

im.getpixel(xy) => value or tuple

im.putpixel(xy, colour)
于 2009-07-03T17:20:47.087 に答える