2017-01-05 1 views
0

Python 2.7でPillowライブラリを使用して、PNGおよびJPGイメージの指定座標でピクセル値を抽出しようとしています。私はエラーはありませんが、値が変わった画像に使用した座標にかかわらず常に同じ値を取得します。Pillowを使用してピクセル値を抽出する - すべての座標が同じ値を返す

これは私がすべての値(その小さなテスト画像)を印刷私のスクリプトからの抜粋です:

from PIL import Image 

box = Image.open("col_grad.jpg") 

pixels = list(box.getdata()) 

print(pixels) 

そして、私は単一の値を抽出しようとするからを:

from PIL import Image, ImageFilter 

box = Image.open("col_grad.jpg") 

value = box.load() 

print(value[10,10]) 

Getting list of pixel values from PIL

:私は含めて指導のため、このトピックでこれらの以前の質問を使用していますこれで任意のヘルプ

How can I read the RGB value of a given pixel in Python?

おかげで、

アレックス

+0

はあなたが使用したテスト画像をアップロードすることができますか? –

答えて

1

次のいずれかの方法を検討する必要があります。

FIRSTグレースケール、その後、ピクセル値を見つけるためにあなたの画像を変換プレゼント。

img_grey= img.convert('1')  # convert image to black and white 

SECONDあなたはRGBチャンネルの画素値が必要な場合は、あなたのカラー画像を分割する必要があります。その後、特定の座標のすべてのチャンネルのピクセル値を見つけます。

Image.split(img) 
+0

ありがとうございます。これは、実際に私が行っている分析がグレースケール画像でうまく機能するようになって、この問題を解決しました。 –

2

画像データの複雑さのために、あなたが望むようにアクセスできるかどうかはわかりません。

だけthe pixel取得:

Image.getpixel(XY)

Returns the pixel value at a given position. 
Parameters: xy – The coordinate, given as (x, y). 
Returns: The pixel value. If the image is a multi-layer image, this method returns a tuple.: 
関連する問題