.pgm画像で色のビットを抽出する最も簡単な方法は?
-
02-10-2019 - |
質問
私はそれらにいくつかの形状を備えた100 128 x 128 .pgmのファイルを持っています、そして、私はそれらのカラースケールが255であると思います(しかし、これについては確かではないので、解決策もそれを考慮に入れることができればいいでしょう)そして画像を処理するには、これらの色を抽出する必要があります。したがって、私が終わらせたいのは、256色の例を仮定して、各要素を0〜255の間の値を持つ128 x 128マトリックスになります。
言語に関しては、Python/Java/C#のすべては、できればその順序で行います。 WindowsまたはLinuxのいずれかを使用できるため、排他的なライブラリは問題ではありません。
解決
Pythonソリューションに関する限り、私は信じています ピル .pgmファイルをサポートします。その場合(アレイコンテナとしてnumpyを使用しますが、この部分はオプションです):
(編集:質問を読み直して、RGBではなくGrayscaleを特に望んでいたことに気付きました...とにかく.pgm形式から実現する必要がありました...)
import Image
import numpy as np
im = Image.open('test.pgm')
# Convert to grayscale (single 8-bit band), if it's not already...
im = im.convert('L')
# "data" is a uint8 (0-255) numpy array...
data = np.asarray(im)
他のヒント
p Ortable g レイ m AP フォーマットは非常に些細なことなので、PGMファイル用のパーサーを必要な言語で自分で書くことができます。 PGMファイルから読み取られる各値はRGBに対応します
255*Value/Max_Valueバイト。
幸運を。
所属していません StackOverflow