'numpy.ndarray' 对象不可调用?
'numpy.ndarray' object is not callable?
运行 这个脚本:
import time
import picamera
import picamera.array
import numpy as np
with picamera.PiCamera() as camera:
with picamera.array.PiBayerArray(camera) as stream:
camera.capture(stream, 'jpeg', bayer=True)
# Demosaic data and write to output (just use stream.array if you
# want to skip the demosaic step)
output = (stream.array() >> 2).astype(np.uint8)
with open('image.jpg', 'wb') as f:
output.tofile(f)
出现以下错误:
Traceback (most recent call last):
File "numpy_simple.py", line 11, in <module>
output = (stream.array() >> 2).astype(np.uint8)
TypeError: 'numpy.ndarray' object is not callable
同时 运行:
output = (stream.demosaic() >> 2).astype(np.uint8)
with open('image.data', 'wb') as f:
output.tofile(f)
不报错。
有点糊涂
array
是属性,不是方法。你不需要调用它。
使用 stream.array
,而不是 stream.array()
。
来源:PiArrayOutput
,这是 PiBayerArray
的基础 class。
相反,.demosaic()
是一个实例方法,这就是为什么你需要调用它来获取它的return值。
运行 这个脚本:
import time
import picamera
import picamera.array
import numpy as np
with picamera.PiCamera() as camera:
with picamera.array.PiBayerArray(camera) as stream:
camera.capture(stream, 'jpeg', bayer=True)
# Demosaic data and write to output (just use stream.array if you
# want to skip the demosaic step)
output = (stream.array() >> 2).astype(np.uint8)
with open('image.jpg', 'wb') as f:
output.tofile(f)
出现以下错误:
Traceback (most recent call last):
File "numpy_simple.py", line 11, in <module>
output = (stream.array() >> 2).astype(np.uint8)
TypeError: 'numpy.ndarray' object is not callable
同时 运行:
output = (stream.demosaic() >> 2).astype(np.uint8)
with open('image.data', 'wb') as f:
output.tofile(f)
不报错。
有点糊涂
array
是属性,不是方法。你不需要调用它。
使用 stream.array
,而不是 stream.array()
。
来源:PiArrayOutput
,这是 PiBayerArray
的基础 class。
相反,.demosaic()
是一个实例方法,这就是为什么你需要调用它来获取它的return值。