画像があります。画像を黒くクリーニングする
私はこのイメージをピクセル単位で行きたいと思います。黒でないピクセルはすべて白くしてください。これはどうすればいいですか?
(Python)
ありがとうございます!
画像があります。画像を黒くクリーニングする
私はこのイメージをピクセル単位で行きたいと思います。黒でないピクセルはすべて白くしてください。これはどうすればいいですか?
(Python)
ありがとうございます!
この理由で特に存在するpoint
関数を使用する必要があります。
converter= ((0,) + 255*(255,)).__getitem__
def black_or_white(img):
return img.convert('L').point(converter)
あなたは次のライブラリをチェックアウトする場合があります:
特にhttp://effbot.org/imagingbook/image.htm
:
im.getpixel(xy) => value or tuple
と
im.putpixel(xy, colour)
putpixel関数が非常に遅い –
お役立ち情報私はPILを使ったことが一度もありませんでした。 – Scanningcrew
最も効率的な方法は、ポイント機能を使用することです
def only_black(band):
if band > 0:
return 255
return 0
result = im.convert('L').point(only_black)
これはPIL documentationこれについて述べているものである。
バイレベル画像 に変換する(モードが「1」)、元画像が白黒に変換された第1 あります。 127より大きな結果値は で、次に白に設定され、画像は ディザリングされています。他のしきい値を使用するには、 ポイントメソッドを使用してください。
only_black関数のband引数は0≦band <256の整数であるため、only_blackには次のコード行しか含めることができません:return bandと255 – tzot
これは高速です。 – Kiv
"L"画像の場合、コンバータ機能は最大256回呼び出されることを考慮すると(Image.pointのドキュメントを参照)、ナディアが提案したものより高速ですが、それより高速です:) – tzot