web-dev-qa-db-ja.com

python-ピクセルの明るさの測定

画像内の特定のピクセルのピクセルの明るさを測定するにはどうすればよいですか?異なるピクセルの明るさを比較するための絶対的なスケールを探しています。ありがとう

15
Double AA

ピクセルのRGB値を取得するには、 [〜#〜] pil [〜#〜] :を使用できます。

from PIL import Image
from math import sqrt
imag = Image.open("yourimage.yourextension")
#Convert the image te RGB if it is a .gif for example
imag = imag.convert ('RGB')
#coordinates of the pixel
X,Y = 0,0
#Get RGB
pixelRGB = imag.getpixel((X,Y))
R,G,B = pixelRGB 

次に、明るさは単に黒から白へのスケールであり、3つのRGB値を平均すると魔女を抽出できます。

brightness = sum([R,G,B])/3 ##0 is dark (black) and 255 is bright (white)

または、さらに深く掘り下げて、Ignacio Vazquez-Abramsがコメントした輝度式を使用することもできます:( RGBカラーの明るさを決定する式

#Standard
LuminanceA = (0.2126*R) + (0.7152*G) + (0.0722*B)
#Percieved A
LuminanceB = (0.299*R + 0.587*G + 0.114*B)
#Perceived B, slower to calculate
LuminanceC = sqrt(0.299*(R**2) + 0.587*(G**2) + 0.114*(B**2))
21
Saulpila