我试图找到沿着一条水平线穿过图像的像素的亮度,但我被困在如何得到一个数字数组,或者使用一个循环来改变x值并输出像素的值,这样我就可以计算每个像素的亮度,然后我可以在那条线上求平均值。这是我到目前为止得到的:
from PIL import Image
from math import sqrt
import os
image = Image.open(os.path.join("mypath", "a.jpg"))
import numpy as np
image = imag.convert ('RGB')
X,Y = (137, 137) #this is where i dont know what else to add
pixelRGB = imag.getpixel((X,Y))
R,G,B = pixelRGB
brightness =([R,G,B])/3
print(brightness)
字符串
我不知道如何添加一个循环。
2条答案
按热度按时间7rfyedvj1#
你应该用一个循环从0到
width
:字符串
41zrol4v2#
在Python中使用
for
循环处理图像速度慢且容易出错。请尝试使用Pillow的内置函数或向量化的Numpy函数。首先,使用枕头:
字符串
的数据
型
输出:
型
其次,使用Numpy:
型
的
型
打印值:
型
如果您希望计算沿沿着 * 任何 * 线(不一定是垂直或水平线)的平均值(或线轮廓),则可以使用
scikit-image
。型
的
型