我正在使用PiYUVArray打印捕获图像的Y值的平均值,这是代码:
import ...
camera=PiCamera()
output=PiYUVArray(camera)
w=64
h=48
camera.resolution=(w,h)
camera.start_preview()
sleep(2)
while True:
camera.capture(output,'yuv')
y_data=numpy.empty((h,w),dtype=numpy.uint8)
y_data=output.array[:h, :w, :1].flatten()
sum=0
for i in range(0,len(y_data),1):
sum=sum+y_data[i]
print('avg = '+str(sum/len(y_data)))
output.truncate(0)
sleep(10)
如何在存储的图像上运行它? output.truncate(0)和 output.seek(0)都一样吗?
编辑 我设法打开了图像,但是通过这种方式,我只循环了垂直的像素行,如何读取Y值?
im=Image.open('1920x1080.jpg')
im=im.convert('YCbCr')
np_im=numpy.array(im)
flat=np_im[:1080, :1920, :1].ravel()