pythonでPILを使用して、ピクセルRGB値に基づいて画像の一部を削除しようとしています。ドキュメントから、私が探しているものを機能ポイントが実行できるように見えます。しかし、私はドキュメントの後に苦労しています。青の値が100未満のすべてのピクセルを白に変更したい場合、これを達成する最も簡単な方法は何ですか?Python PILは画像の部分を色に基づいて削除します
2
A
答えて
1
何かが働くだろう:
source = im.split()
mask = source[2].point(lambda i: i < 100 and 255)
im = Image.merge(im.mode, source)
は、より多くのINFOMATIONに向かっ小数点演算下PIL Tutorialを参照してください。
2
これを行う最も簡単な方法は、Mahotas libraryを使用して、NumPy ndarraysとして画像を読み込むことです。それでは、イメージ上で論理インデックスを使用するだけです。
import Mahotas as mh
import numpy as np
fname = "/home/stuff/images/my_image.jpg"
image = mh.imread(fname)
# Make a copy to play with the indices.
img = np.copy(image)
# Replace places with 3rd coordinate less than 100 with the white-color
# vector [255, 255, 255].
inds = img[:,:,2] < 100
img[inds] = [255,255,255]
利点はMahotasは、右あなたが簡単にnumpyの一貫性のある構文で異なる寸法をスライスすることができますnumpyの配列に画像をロードすることです。また、PILでイメージI/Oを実際に実行したい場合は、イメージをNumPy配列に変換するPILの関数を探して、上記のコードは引き続き機能します。
しかし、私はいつもPILが真に働くように一貫した問題を抱えてきました。画像ファイルタイプサポートの問題、デコーダの問題、PILの問題などがあるようです。それは非常に難解です。私は一般的に同じ理由でPython-OpenCVを避けるようにしています。私はscikits.learn、scikits.image、Mahotas、PyPNGのワークフローを好む。次のような
関連する問題
- 1. PHPは部分タグに基づいて画像を削除します
- 2. 画像から黒い部分を削除するには?
- 3. データを削除するには:base64の画像部分
- 4. PIL、pythonを使用した画像の一部をフィルタリングする
- 5. Python PIL画像の再現
- 6. コンテンツに基づいて画像をソート
- 7. 画像から選択した色を削除します(グレースケールグラフィック)
- 8. PILを使用して任意の画像から透明/アルファを削除
- 9. ビットマップ画像から色を削除しますか?
- 10. 画像の概要python/PILを使用
- 11. 画像の半分のサイズに基づいてAndroidの余白のサイズは?
- 12. 別の配列のwhatsに基づいてアイテムを削除する - python
- 13. 画像の白い背景を削除する白い部分がまだ残っています。C#
- 14. HSV値に基づく色の分類
- 15. Pythonの画像処理:好ましくはPILや
- 16. PythonでPILを使用して画像をぼかす
- 17. は追加/ラジオに基づいて、ドロップダウンリストの項目を削除
- 18. BeautifulSoupの属性に基づいて画像を抽出しています
- 19. Python、PIL;画像とフォントへのテキスト
- 20. PythonのPIL:例外IOError:画像ファイル
- 21. 内部の画像に基づいてコンテナDIVの動的リサイズを行う
- 22. 彼らが基づいている画像と異なるアプリの色
- 23. グリッドテーブルに基づいて画像を作成する方法は?
- 24. 部分ビュー内のアクションに基づいて、メインビュー内でいくつかの部分ビューを返します。
- 25. ギャラリーの画像は、画面サイズに基づいて表示されます
- 26. Pythonを使用して行のセルの内容に基づいてテーブルの行を削除する方法は?
- 27. jqueryは条件に基づいて削除可能です
- 28. コレクションのサイズに基づいて部分レンダリングが部分的にレンダリングされる
- 29. 特定の列の値に基づいてセルの行を削除します
- 30. 画像のフィルタを削除します