sensor
— 感光元件¶
sensor
模块用于拍摄照片。
使用示例
import sensor
# Setup camera.
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames()
# Take pictures.
def loop():
sensor.snapshot()
函数¶
- sensor.reset()¶
初始化相机传感器。
- sensor.sleep(enable)¶
如果enable为True,则将相机置于睡眠状态。 否则,将其唤醒。
- sensor.shutdown(enable)¶
使相机进入比睡眠状态低的功耗模式(但相机必须在被唤醒时重置)。
- sensor.flush()¶
将帧缓冲区中的内容复制到IDE中。若其未运行无限循环的脚本,您应调用该方法来显示您的znzpi AI相机拍摄的最后一张照片。 请注意,脚本完成后,您需要在延迟时间约一秒后让IDE从相机中抓取图像。 否则,此方法将不起作用。
- sensor.snapshot()¶
使用相机拍摄一张照片,并返回
image
对象。znzpi AI相机有两个图像存储区。用于正常MicroPython处理的经典堆栈/堆区可以将小图像存储在堆中。 但是,MicroPython堆只有大约100KB,这不足以存储更大的图像。因此,您的znzpi AI相机有一个辅助帧缓冲存储区, 用于存储
sensor.snapshot()
所拍摄的图像。 图像存储在该存储区域的底部。 剩下的任何内存都可供帧缓冲区堆栈使用,znzpi AI相机的固件使用它来保存用于图像处理算法的大型临时数据结构。如果你需要空间来容纳多个帧,你可以通过调用
sensor.alloc_extra_fb()
来“偷走”帧缓冲区空间。如果
sensor.set_auto_rotation()
被启用,这个方法将返回一个新的已经旋转过的image
对象。备注
sensor.snapshot()
可以应用裁剪参数来适应可用RAM中的快照,包括像素格式、帧大小、窗口和帧缓冲区。 裁剪参数将被应用以保持纵横比,并将一致保持到调用sensor.set_framesize()
或sensor.set_windowing()
。
- sensor.skip_frames([n, time])¶
使用
n
个快照,让相机图像在改变相机设置后稳定下来。n
作为普通参数传输, 例如:skip_frames(10)
跳过 10 帧。您应在改变相机设置后调用该函数。或者,您可通过关键字参数
time
来跳过几毫秒的帧数,例如:skip_frames(time = 2000)
,跳过2000毫秒的帧。若
n
和time
皆未指定,该方法跳过300毫秒的帧。若二者皆指定,该方法会跳过
n
数量的帧,但将在time
毫秒后超时。备注
sensor.snapshot()
可以应用裁剪参数来适应可用RAM中的快照,包括像素格式、帧大小、窗口和帧缓冲区。 裁剪参数将被应用以保持纵横比,并将一致保持到调用sensor.set_framesize()
或sensor.set_windowing()
。
- sensor.width()¶
返回传感器的分辨率宽度。
- sensor.height()¶
返回传感器的分辨率高度。
- sensor.get_fb()¶
(获取帧缓冲区)返回由先前调用的
sensor.snapshot()
所返回的图像对象。 若此前未调用过sensor.snapshot()
,则返回``None`` 。
- sensor.get_id()¶
返回相机模块ID。
sensor.OV9650
: First gen znzpi Cam sensor - never released.sensor.OV2640
: Second gen znzpi Cam sensor - never released.sensor.OV5640
: High-res znzpi Cam H7 sensor.sensor.OV7725
: Rolling shutter sensor module.sensor.OV7690
: znzpi Cam Micro sensor module.sensor.MT9V034
: Global shutter sensor module.sensor.MT9M114
: New Rolling shutter sensor module.sensor.LEPTON
: Lepton1/2/3 sensor module.sensor.HM01B0
: Arduino Portenta H7 sensor module.sensor.GC2145
: Arduino Nicla Vision H7 sensor module.sensor.PAJ6100
: PixArt Imaging sensor Module.
- sensor.alloc_extra_fb(width, height, pixformat)¶
为帧缓冲区堆栈中的图像存储分配另一个帧缓冲区, 并返回一个
image``的 ``width
,height
pixformat
。只要有可用内存分配任意数量的额外帧缓冲区,您可以随意调用此函数。
如果
pixformat
是一个数字 >= 4,然后这将分配一个JPEG图像。 然后可以执行Image.bytearray()
来获得对JPEG图像的字节级读写访问。备注
创建辅助图像通常需要在具有有限数量的RAM的堆上创建它们。 但是,也会被分割,使得难以抓取大型连续存储器阵列来存储图像。使用此方法,您可以分配 非常大的存储器阵列, 通过从我们用于计算机视觉算法的帧缓冲区堆栈存储器中获取空间而立即获得图像。 也就是说, 这也意味着如果您尝试执行更多内存密集型机器视觉算法(如
Image.find_apriltags()
),则会更容易耗尽内存。
- sensor.dealloc_extra_fb()¶
Deallocates the last previously allocated extra frame buffer. Extra frame buffers are stored in a stack like structure.
备注
您的znzpi AI相机有两个内存区域。 首先,你有你的经典 .data/.bss/heap/stack存储区。 .data/.bss/heap堆区域由固件修复。堆栈然后增长下来,直到它碰到堆。 接下来,帧缓冲区被存储在辅助存储区域中。内存与底部的主要帧缓冲区和顶部的帧缓冲区堆栈有关。 当调用
sensor.snapshot()
时,它会从底部填充帧缓冲区。帧缓冲区堆栈可以使用剩下的任何东西。这种内存分配方法对微控制器上的计算机视觉非常有效。
- sensor.set_pixformat(pixformat)¶
设置相机模块的像素模式。
sensor.GRAYSCALE
: 8 bits/像素。sensor.RGB565
16 bits/像素。sensor.BAYER
: 8 bits每像素的bayer格式。sensor.YUV422
: 16-bits per pixel (8-bits Y1, 8-bits U, 8-bits Y2, 8-bits V, etc.)sensor.JPEG
: JPEG压缩数据。仅适用于OV2640/OV5640。
如果您试图使用OV2640或OV5640相机模块的较高分辨率拍摄JPEG图像, 你应该将像素格式设置为
sensor.JPEG
。 然后你可以使用控制图像质量sensor.set_quality()
。
- sensor.get_pixformat()¶
返回相机模块的像素格式。
- sensor.set_framesize(framesize)¶
设置相机模块的帧大小。
sensor.QQCIF
: 88x72sensor.QCIF
: 176x144sensor.CIF
: 352x288sensor.QQSIF
: 88x60sensor.QSIF
: 176x120sensor.SIF
: 352x240sensor.QQQQVGA
: 40x30sensor.QQQVGA
: 80x60sensor.QQVGA
: 160x120sensor.QVGA
: 320x240sensor.VGA
: 640x480sensor.HQQQQVGA
: 30x20sensor.HQQQVGA
: 60x40sensor.HQQVGA
: 120x80sensor.HQVGA
: 240x160sensor.HVGA
: 480x320sensor.B64X32
: 64x32 (for use withImage.find_displacement()
)sensor.B64X64
: 64x64 (for use withImage.find_displacement()
)sensor.B128X64
: 128x64 (for use withImage.find_displacement()
)sensor.B128X128
: 128x128 (for use withImage.find_displacement()
)sensor.B160X160
: 160x160 (for the HM01B0)sensor.B320X320
: 320x320 (for the HM01B0)sensor.LCD
: 128x160 (for use with the lcd shield)sensor.QQVGA2
: 128x160 (for use with the lcd shield)sensor.WVGA
: 720x480 (for the MT9V034)sensor.WVGA2
:752x480 (for the MT9V034)sensor.SVGA
: 800x600 (only for the OV2640/OV5640 sensor)sensor.XGA
: 1024x768 (only for the OV2640/OV5640 sensor)sensor.WXGA
: 1280x768 (for the MT9M114)sensor.SXGA
: 1280x1024 (only for the OV2640/OV5640 sensor)sensor.SXGAM
: 1280x960 (for the MT9M114)sensor.UXGA
: 1600x1200 (only for the OV2640/OV5640 sensor)sensor.HD
: 1280x720 (only for the OV2640/OV5640 sensor)sensor.FHD
: 1920x1080 (only for the OV5640 sensor)sensor.QHD
: 2560x1440 (only for the OV5640 sensor)sensor.QXGA
: 2048x1536 (only for the OV5640 sensor)sensor.WQXGA
: 2560x1600 (only for the OV5640 sensor)sensor.WQXGA2
: 2592x1944 (only for the OV5640 sensor)
- sensor.get_framesize()¶
返回相机模块的帧大小。
- sensor.set_framerate(rate)¶
在 HM01B0 上以赫兹为单位设置帧速率。 可以是 15、30、60 或 120 Hz。
备注
set_framerate
works by dropping frames received by the camera module to keep the frame rate equal to (or below) the rate you specify. By default the camera will run at the maximum frame rate. If implemented for the particular camera sensor thenset_framerate
will also reduce the camera sensor frame rate internally to save power and improve image quality by increasing the sensor exposure.set_framerate
may conflict withset_auto_exposure
on some cameras.
- sensor.get_framerate()¶
Returns the frame rate in hz for the camera module.
- sensor.set_windowing(roi)¶
将相机的分辨率设置为当前分辨率的子分辨率。例如:将分辨率设置为
sensor.VGA
,然后将windowing设置为(120, 140, 200, 200), 设置sensor.snapshot()
以捕捉由相机传感器输出的VGA分辨率的200x200中心像素。您可使用窗口来获得定制的分辨率。另外, 当你在更大分辨率下使用窗口时,实际上是进行数字缩放。roi
是矩形区域元组 (x, y, w, h). 然而,你可以只传递 (w,h),而roi
将会在图像中居中。您也可以不通过括号传递 roi。此函数将自动处理把传递的 roi 裁剪为帧大小。
- sensor.get_windowing()¶
返回先前用
sensor.set_windowing()
设置的roi
元组 (x, y, w, h)。
- sensor.set_gainceiling(gainceiling)¶
设置相机图像增益上限。2, 4, 8, 16, 32, 64, 128。
- sensor.set_contrast(constrast)¶
设置相机图像对比度。-3至+3。
- sensor.set_brightness(brightness)¶
设置相机图像亮度。-3至+3。
- sensor.set_saturation(saturation)¶
设置相机图像饱和度。-3至+3。
- sensor.set_quality(quality)¶
设置相机图像JPEG压缩质量。0-100。
备注
仅适用于OV2640/OV5640相机。
- sensor.set_colorbar(enable)¶
打开(True)或关闭(False)彩色模式。默认关闭。
- sensor.set_auto_gain(enable[, gain_db=-1[, gain_db_ceiling]])¶
enable
打开(True)或关闭(False)自动增益。默认打开。 value 强迫增益值。更多细节请参见摄像头数据表。如果
enable
为False,则可以使用 gain_db 设置固定增益,单位为分贝。如果
enable
为True,您可以使用``gain_db_ceiling`` 设置自动增益控制算法的最大增益上限,以分贝为单位。备注
若您想追踪颜色,则需关闭白平衡。
- sensor.get_gain_db()¶
以分贝(浮点数)返回当前摄像机增益值。
- sensor.set_auto_exposure(enable[, exposure_us])¶
enable
打开(True)或关闭(False)自动曝光。默认打开。如果
enable
为False, 则可以用exposure_us
设置一个固定的曝光时间(以微秒为单位)。备注
相机自动曝光算法对于调整曝光值的次数非常保守,通常会避免更改曝光值。 相反,他们改变增益值与改变照明有很大关系。
- sensor.get_exposure_us()¶
以微秒(int)返回当前相机的曝光值。
- sensor.set_auto_whitebal(enable[, rgb_gain_db])¶
enable
打开(True)或关闭(False)自动白平衡。默认打开。 如果 enable 为False,则可以用 rgb_gain_db 分别设置红色,绿色和蓝色通道的固定增益分贝。If
enable
is False you may set a fixed gain in decibels for the red, green, and blue channels respectively withrgb_gain_db
.备注
若您想追踪颜色,则需关闭白平衡。
- sensor.get_rgb_gain_db()¶
返回当前摄像机红色,绿色和蓝色增益值以分贝((浮点型,浮点型,浮点型))表示的元组。
- sensor.set_auto_blc([enable[, regs]])¶
打开(True)或关闭(False)水平镜像模式。默认关闭。
enable
passTrue
orFalse
to turn BLC on or off. You typically always want this on.regs
if disabled then you can manually set the blc register values via the values you got previously fromget_blc_regs()
.
- sensor.get_blc_regs()¶
Returns the sensor blc registers as an opaque tuple of integers. For use with
set_auto_blc
.
- sensor.set_hmirror(enable)¶
打开(True)或关闭(False)水平镜像模式。默认关闭。
- sensor.get_hmirror()¶
如果启用了水平镜像模式,则返回。
- sensor.set_vflip(enable)¶
垂直翻转模式开启(True)或关闭(False)。默认为关闭。
- sensor.get_vflip()¶
返回垂直翻转模式是否启用。
- sensor.set_transpose(enable)¶
转置模式开启(True)或关闭(False)。默认为关闭。
vflip=False, hmirror=False, transpose=False -> 0 degree rotation
vflip=True, hmirror=False, transpose=True -> 90 degree rotation
vflip=True, hmirror=True, transpose=False -> 180 degree rotation
vflip=False, hmirror=True, transpose=True -> 270 degree rotation
- sensor.get_transpose()¶
返回转置模式是否启用。
- sensor.set_auto_rotation(enable)¶
打开自动旋转模式(True)或关闭(False)。默认为关闭。
备注
此功能仅在znzpi AI相机安装了
imu
并自动启用时有效。
- sensor.set_framebuffers(count)¶
设置用于接收图像数据的帧缓冲区数。默认情况下,你的znzpi AI Cam将自动尝试分配它可能分配的最大帧缓冲区数, 在分配时不使用超过 1/2 的可用帧缓冲 RAM,以确保最佳性能。 每当您调用
sensor.set_pixformat()
,sensor.set_framesize()
, 和sensor.set_windowing()
时, 都会自动重新分配帧缓冲区。sensor.snapshot()
将在后台自动处理切换活动帧缓冲区。 从您的代码的角度来看,即使系统上可能有 1 个以上的帧缓冲区和另一个在后台接收数据的帧缓冲区,也只有 1 个活动的帧缓冲区。如果 count 为:
- 1 - 单帧缓冲区模式 (你也可以传递
sensor.SINGLE_BUFFER
) 在单帧缓冲区模式下,您的znzpi AI Cam将分配一个帧缓冲区用于接收图像。 当您调用
sensor.snapshot()
时,该帧缓冲区将用于接收图像,并且相机驱动程序将继续运行。 如果您在接收到下一帧的第一行之前再次调用sensor.snapshot()
,您的代码将以相机的帧速度执行。否则,图像将被丢弃。- 2 - 双帧缓冲区模式 (你也可以传递
sensor.DOUBLE_BUFFER
) 在双帧缓冲区模式下,您的znzpi AI Cam将为接收图像分配两个缓冲区。 当您调用
sensor.snapshot()
时,将使用一个帧缓冲区来接收图像,并且相机驱动程序将继续运行。当 接收到下一帧时,它将储存在另一个帧缓冲区中。 在出现后,您在接收到下一帧的第一行之前再次调用sensor.snapshot()
,您的代码将以相机的帧速率执行。 否则,图像将被丢弃。- 3 - 三帧缓冲区 (你也可以传递
sensor.TRIPLE_BUFFER
) 在三帧缓冲区模式下,您的 znzpi AI相机将为接收图像分配三个缓冲区。
sensor.snapshot()
在这种模式下,总是有一个帧缓冲区将接收到的图像存储到后台,从而获得最高的性能和最低的读取最新接收帧的延迟。在这种模式下不会丢帧。
sensor.snapshot() 读取的下一帧是传感器驱动程序最后捕获的帧(例如,如果您的读取速度比相机帧速率慢,则可能的可用帧中的旧帧将被跳过)。
您可以传递 4 或更大的值来将传感器驱动程序置于视频 FIFO 模式,其中接收的图像存储在具有
count
缓冲区的帧缓冲区 FIFO 中。 这对于将视频录制到 SD 卡非常有用,当 SD 卡执行诸如预擦除块以写入数据之类的日常任务时,它可能会随机阻止您的代码写入数据。备注
在丢帧(没有缓冲区可用于接收下一帧)时,除活动帧缓冲区外,所有帧缓冲区都会自动清除。 这样做是为了确保
sensor.snapshot()
返回当前帧而不是很久以前的帧。有趣的事实,您可以在带有 SDRAM 的 znzpi AI相机上传递 100 左右的值以获得巨大的视频先进先出fifo。 如果您随后调用比相机帧速率慢的快照(通过添加
machine.sleep()
),您将在 znzpi IDE 中获得慢动作效果。 但是,您还将看到上述策略效果,即在丢帧时重置帧缓冲区以确保帧不会太旧。 如果您想录制慢动作视频,只需将视频正常录制到 SD 卡,然后在比录制速度慢的台式机上播放视频。- 1 - 单帧缓冲区模式 (你也可以传递
- sensor.get_framebuffers()¶
返回当前分配的帧缓冲区数。
- sensor.disable_delays([disable])¶
If
disable
isTrue
then disable all settling time delays in the sensor module. Whenever you reset the camera module, change modes, etc. the sensor driver delays to prevent you can from callingsnapshot
to quickly afterwards and receiving corrupt frames from the camera module. By disabling delays you can quickly update the camera module settings in bulk via multiple function calls before delaying at the end and callingsnapshot
.If this function is called with no arguments it returns if delays are disabled.
- sensor.disable_full_flush([disable])¶
If
disable
isTrue
then automatic framebuffer flushing mentioned inset_framebuffers
is disabled. This removes any time limit on frames in the frame buffer fifo. For example, if you set the number of frame buffers to 30 and set the frame rate to 30 you can now precisely record 1 second of video from the camera without risk of frame loss.If this function is called with no arguments it returns if automatic flushing is disabled. By default automatic flushing on frame drop is enabled to clear out stale frames.
备注
snapshot
使用相机拍摄一张照片,并返回 image 对象。 znzpi AI相机有多个图像存储区。用于正常MicroPython处理的经典堆栈/堆区可以将小图像存储在堆中。 但是,MicroPython堆只有大约100KB,这不足以存储更大的图像。因此,您的 znzpi AI相机有一个辅助帧缓冲存储区, 用于存储 sensor.snapshot() 所拍摄的图像。 图像存储在该存储区域的底部。 剩下的任何内存都可供帧缓冲区堆栈使用, znzpi AI相机的固件使用它来保存用于图像处理算法的大型临时数据结构。
- sensor.set_lens_correction(enable, radi, coef)¶
enable
True to enable and False to disable (bool).radi
integer radius of pixels to correct (int).coef
power of correction (int).
- sensor.set_vsync_callback(cb)¶
注册回调
cb
以在相机模块生成新帧时(但在接收到帧之前)执行(在中断上下文中)。cb
接受一个参数,并在更改后传递 vsync 引脚的当前状态。
- sensor.set_frame_callback(cb)¶
注册回调
cb
以在相机模块生成新帧并且该帧准备好通过sensor.snapshot()
读取时执行(在中断上下文中)。cb
没有参数。使用它来获取中断以安排稍后使用
micropython.schedule()
读取帧。
- sensor.get_frame_available()¶
如果一个帧可以通过调用
sensor.snapshot()
读取,则返回 True。
- sensor.ioctl(...)¶
执行sensor特定的方法:
sensor.IOCTL_SET_READOUT_WINDOW
- 传递此枚举后跟一个矩形元组 (x, y, w, h) 或大小元组 (w, h)。此 IOCTL 允许您控制相机传感器的读出窗口,从而以视场为代价显着提高帧速率。
如果您传递一个 rect 元组 (x, y, w, h),则读出窗口将位于该 rect 元组上。 rect 元组的 x/y 位置将被调整,以便尺寸 w/h 适合。 此外,w/h 的大小将被调整为不小于
framesize
。如果您传递一个大小元组 (w, h),则在给定 w/h 的情况下,读数窗口将居中。 此外,w/h 的大小将被调整为不小于
framesize
。此 IOCTL 对提高 OV2640/OV5640 等更高分辨率相机的帧速率非常有帮助。
sensor.IOCTL_GET_READOUT_WINDOW
- 将此枚举传递给sensor.ioctl
以返回当前的读出窗口矩形元组(x, y, w, h)。默认情况下这是(0, 0, maximum_camera_sensor_pixel_width, maximum_camera_sensor_pixel_height)。sensor.IOCTL_SET_TRIGGERED_MODE
- 传递此枚举后跟 True 或 False 设置 MT9V034 传感器的触发模式。sensor.IOCTL_GET_TRIGGERED_MODE
- 将此枚举传递给sensor.ioctl
以返回当前触发模式状态。sensor.IOCTL_SET_FOV_WIDE
- 传这个枚举为 True 或 False 来使能sensor.set_framesize()
来优化视野sensor.IOCTL_GET_FOV_WIDE
- 传这个sensor.ioctl
枚举类型来返回当前视野是否fps优化状态sensor.IOCTL_TRIGGER_AUTO_FOCUS
- 将此枚举传递给sensor.ioctl
以触发对 OV5640 FPC 摄像头模块的自动对焦。sensor.IOCTL_PAUSE_AUTO_FOCUS
- 将此枚举传递给sensor.ioctl
以暂停 OV5640 FPC 相机模块上的自动对焦(触发后)。sensor.IOCTL_RESET_AUTO_FOCUS
- 将此枚举传递给sensor.ioctl
以重置 OV5640 FPC 相机模块上的自动对焦(触发后)。sensor.IOCTL_WAIT_ON_AUTO_FOCUS
- 将此枚举传递给sensor.ioctl
以等待自动对焦(触发后)在 OV5640 FPC 相机模块上完成。 您可以以毫秒为单位传递超时的第二个参数。 默认值为 5000 毫秒。sensor.IOCTL_SET_NIGHT_MODE
- 传递此枚举可获取FLIR Lepton图像宽度(以像素为单位)。sensor.IOCTL_GET_NIGHT_MODE
- 传递此枚举可sensor.ioctl
获取FLIR Lepton图像高度(以像素为单位)sensor.IOCTL_LEPTON_GET_WIDTH
- 传递此枚举可获取FLIR Lepton类型(辐射测量或非辐射测量)。sensor.IOCTL_LEPTON_GET_HEIGHT
- 传递此枚举可获取以赫兹为单位的FLIR Lepton刷新率。sensor.IOCTL_LEPTON_GET_RADIOMETRY
- 传递此枚举可获取FLIR Lepton ADC分辨率(以位为单位)。sensor.IOCTL_LEPTON_GET_REFRESH
- 传递此枚举以执行FLIR Lepton SDK命令。您需要在枚举之后传递一个附加的16位值作为要执行的命令。sensor.IOCTL_LEPTON_GET_RESOLUTION
- 传递此枚举可设置FLIR Lepton SDK属性。sensor.IOCTL_LEPTON_RUN_COMMAND
- 传递此枚举以执行FLIR Lepton SDK命令。您需要在枚举之后传递一个附加的16位值作为要执行的命令。sensor.IOCTL_LEPTON_SET_ATTRIBUTE
- 传递此枚举可设置FLIR Lepton SDK属性。第一个参数是要设置的16位属性ID(设置FLIR Lepton SDK)。
第二个参数是要写入的MicroPython字节数组(应为16位的倍数)。按照FLIR Lepton SDK使用
struct
创建字节数组。
sensor.IOCTL_LEPTON_GET_ATTRIBUTE
- 传递此枚举可获取FLIR Lepton SDK属性。第一个参数是要设置的16位属性ID(设置FLIR Lepton SDK)。
返回属性的MicroPython字节数组。使用
struct
反序列化FLIR Lepton SDK之后的字节数组。
sensor.IOCTL_LEPTON_GET_FPA_TEMPERATURE
- 传递此枚举可获取FLIR Lepton FPA温度,单位是摄氏度。sensor.IOCTL_LEPTON_GET_AUX_TEMPERATURE
- 传递此枚举可获取FLIR Lepton AUX温度,单位是摄氏度。sensor.IOCTL_LEPTON_SET_MEASUREMENT_MODE
- 传递此参数后,再输入True或False,以关闭FLIR轻子上的自动增益控制,并强制其输出图像,其中每个像素值代表精确的摄氏温度值。sensor.IOCTL_LEPTON_GET_MEASUREMENT_MODE
- 如果启用或禁用测量模式,则传递此参数。sensor.IOCTL_LEPTON_SET_MEASUREMENT_RANGE
- 启用测量模式时,通过此选项可以为映射操作设置摄氏温度范围。然后,将FLIR Lepton返回的温度图像钳制在这些最小值和最大值之间,然后缩放为0到255之间的值。要将像素值映射回温度(在灰度图像上),请执行以下操作:((pixel * (max_temp_in_celsius - min_temp_in_celsius)) / 255.0) + min_temp_in_celsius。第一个参数应该是摄氏最低温度。
第二个参数应该是摄氏最高温度。如果参数反转,库将自动为您交换它们。
sensor.IOCTL_LEPTON_GET_MEASUREMENT_RANGE
- 通过这个返回排序的(min,max)2值温度范围元组。如果还没有设置,默认值是-17.7778C到37.7778C (0F到100F)。sensor.IOCTL_HIMAX_MD_ENABLE
- 传递此枚举后跟True
/False
以启用/禁用 HM01B0 上的运动检测。 您还应该启用连接到 HM01B0 运动检测线的 I/O 引脚(Arduino Portenta 上的 PC15)以接收中断。sensor.IOCTL_HIMAX_MD_CLEAR
- 传递此枚举以清除 HM01B0 上的运动检测中断。sensor.IOCTL_HIMAX_MD_WINDOW
- 传递此枚举后跟 (x1, y1, x2, y2) 以在 HM01B0 上设置运动检测窗口。sensor.IOCTL_HIMAX_MD_THRESHOLD
- 传递此枚举后跟阈值 (0-255) 以设置 HM01B0 上的运动检测阈值。sensor.IOCTL_HIMAX_OSC_ENABLE
- 传递此枚举后跟True
/False
以启用/禁用振荡器 HM01B0 以节省电源。
- sensor.set_color_palette(palette)¶
设置调色板以将FLIR Lepton灰度转换为RGB565。
- sensor.get_color_palette()¶
返回当前调色板设置。默认为
image.PALETTE_RAINBOW
。
- sensor.__write_reg(address, value)¶
在
address
(int) 向相机寄存器中写入value
(int) 。备注
请参阅摄像头数据表以获得注册信息。
- sensor.__read_reg(address)¶
在
address
(int)上读取摄像头数据表。备注
请参阅摄像头数据表以获得注册信息。
常量¶
- sensor.BINARY¶
BINARY(位图)像素格式。 每个像素为 1 位。
这种格式对于掩码存储非常有用。可以与
image.Image()
和sensor.alloc_extra_fb()
一起使用。
- sensor.GRAYSCALE¶
GRAYSCALE像素模式(Y from YUV422)。每像素为8位、1字节。
我们所有的计算机视觉算法在灰度图像上比在RGB565图像上运行更快。
- sensor.RGB565¶
RGB565 像素格式。 每个像素为 16 位、2 字节。 5 位用于红色,6 位用于绿色,5 位用于蓝色。
我们所有的计算机视觉算法在RGB565图像上比在灰度图像上运行更慢。
- sensor.BAYER¶
RAW BAYER图像像素格式。如果你试图使帧大小太大,以适应帧缓冲区,你的znzpi AI CAM摄像头将设置像素格式为BAYER, 使你可以捕获图像,但是无法使用任何图像处理方法。
- sensor.YUV422¶
这是一个非常容易压缩的格式。每一个像素存储在一个8比特的灰度Y以及8bit的U/V颜色值。
- sensor.JPEG¶
JPEG模式。摄像机模块输出压缩的jpeg图像。 使用
sensor.set_quality()
来控制jpeg的质量。 仅适用于OV2640/OV5640相机。
- sensor.OV2640¶
sensor.get_id()
returns this for the OV2640 camera.
- sensor.OV5640¶
sensor.get_id()
returns this for the OV5640 camera.
- sensor.OV7690¶
sensor.get_id()
returns this for the OV7690 camera.
- sensor.OV7725¶
sensor.get_id()
returns this for the OV7725 camera.
- sensor.OV9650¶
sensor.get_id()
returns this for the OV9650 camera.
- sensor.MT9V022¶
sensor.get_id()
returns this for the MT9V022 camera.
- sensor.MT9V024¶
sensor.get_id()
returns this for the MT9V024 camera.
- sensor.MT9V032¶
sensor.get_id()
returns this for the MT9V032 camera.
- sensor.MT9V034¶
sensor.get_id()
returns this for the MT9V034 camera.
- sensor.MT9M114¶
sensor.get_id()
returns this for the MT9M114 camera.
- sensor.LEPTON¶
sensor.get_id()
returns this for the LEPTON1/2/3 cameras.
- sensor.HM01B0¶
sensor.get_id()
returns this for the HM01B0 camera.
- sensor.HM0360¶
sensor.get_id()
returns this for the HM01B0 camera.
- sensor.GC2145¶
sensor.get_id()
returns this for the GC2145 camera.
- sensor.PAJ6100¶
sensor.get_id()
returns this for the PAJ6100 camera.
- sensor.FROGEYE2020¶
sensor.get_id()
returns this for the FROGEYE2020 camera.
- sensor.QQCIF¶
88x72 resolution for the camera sensor.
- sensor.QCIF¶
176x144 resolution for the camera sensor.
- sensor.CIF¶
352x288 resolution for the camera sensor.
- sensor.QQSIF¶
88x60 resolution for the camera sensor.
- sensor.QSIF¶
176x120 resolution for the camera sensor.
- sensor.SIF¶
352x240 resolution for the camera sensor.
- sensor.QQQQVGA¶
40x30 resolution for the camera sensor.
- sensor.QQQVGA¶
80x60 resolution for the camera sensor.
- sensor.QQVGA¶
160x120 resolution for the camera sensor.
- sensor.QVGA¶
320x240 resolution for the camera sensor.
- sensor.VGA¶
640x480 resolution for the camera sensor.
- sensor.HQQQQVGA¶
30x20 resolution for the camera sensor.
- sensor.HQQQVGA¶
60x40 resolution for the camera sensor.
- sensor.HQQVGA¶
120x80 resolution for the camera sensor.
- sensor.HQVGA¶
240x160 resolution for the camera sensor.
- sensor.HVGA¶
480x320 resolution for the camera sensor.
- sensor.B64X32¶
64x32 resolution for the camera sensor.
For use with
Image.find_displacement()
and any other FFT based algorithm.
- sensor.B64X64¶
64x64 resolution for the camera sensor.
For use with
Image.find_displacement()
and any other FFT based algorithm.
- sensor.B128X64¶
128x64 resolution for the camera sensor.
For use with
Image.find_displacement()
and any other FFT based algorithm.
- sensor.B128X128¶
128x128 resolution for the camera sensor.
For use with
Image.find_displacement()
and any other FFT based algorithm.
- sensor.B160X160¶
160x160 resolution for the HM01B0 camera sensor.
- sensor.B320X320¶
320x320 resolution for the HM01B0 camera sensor.
- sensor.LCD¶
128x160 resolution for the camera sensor (for use with the lcd shield).
- sensor.QQVGA2¶
128x160 resolution for the camera sensor (for use with the lcd shield).
- sensor.WVGA¶
720x480 resolution for the MT9V034 camera sensor.
- sensor.WVGA2¶
752x480 resolution for the MT9V034 camera sensor.
- sensor.SVGA¶
800x600 resolution for the camera sensor.
- sensor.XGA¶
1024x768 resolution for the camera sensor.
- sensor.WXGA¶
1280x768 resolution for the MT9M114 camera sensor.
- sensor.SXGA¶
1280x1024 resolution for the camera sensor. Only works for the OV2640/OV5640 cameras.
- sensor.SXGAM¶
1280x960 resolution for the MT9M114 camera sensor.
- sensor.UXGA¶
1600x1200 resolution for the camera sensor. Only works for the OV2640/OV5640 cameras.
- sensor.HD¶
1280x720 resolution for the camera sensor.
- sensor.FHD¶
1920x1080 resolution for the camera sensor. Only works for the OV5640 camera.
- sensor.QHD¶
2560x1440 resolution for the camera sensor. Only works for the OV5640 camera.
- sensor.QXGA¶
2048x1536 resolution for the camera sensor. Only works for the OV5640 camera.
- sensor.WQXGA¶
2560x1600 resolution for the camera sensor. Only works for the OV5640 camera.
- sensor.WQXGA2¶
2592x1944 resolution for the camera sensor. Only works for the OV5640 camera.
- sensor.IOCTL_SET_READOUT_WINDOW¶
Lets you set the readout window for the OV5640.
- sensor.IOCTL_GET_READOUT_WINDOW¶
Lets you get the readout window for the OV5640.
- sensor.IOCTL_SET_TRIGGERED_MODE¶
Lets you set the triggered mode for the MT9V034.
- sensor.IOCTL_GET_TRIGGERED_MODE¶
Lets you get the triggered mode for the MT9V034.
- sensor.IOCTL_SET_FOV_WIDE¶
使能
sensor.set_framesize()
的视野优化
- sensor.IOCTL_GET_FOV_WIDE¶
返回是否对视野使用了
sensor.set_framesize()
优化
- sensor.IOCTL_TRIGGER_AUTO_FOCUS¶
用于触发自动对焦
- sensor.IOCTL_PAUSE_AUTO_FOCUS¶
用于暂停自动对焦模式
- sensor.IOCTL_RESET_AUTO_FOCUS¶
用于复位自动对焦为默认值
- sensor.IOCTL_WAIT_ON_AUTO_FOCUS¶
用于等待自动对焦完成。
- sensor.IOCTL_SET_NIGHT_MODE¶
用于开关传感器的夜晚模式
- sensor.IOCTL_GET_NIGHT_MODE¶
获取相机当前是否启用夜晚模式。
- sensor.IOCTL_LEPTON_GET_WIDTH¶
获得FLIR Lepton图像分辨率宽度(以像素为单位)。
- sensor.IOCTL_LEPTON_GET_HEIGHT¶
获得FLIR Lepton图像分辨率高度(以像素为单位)。
- sensor.IOCTL_LEPTON_GET_RADIOMETRY¶
获得以赫兹为单位的FLIR Lepton刷新率。
- sensor.IOCTL_LEPTON_GET_REFRESH¶
获得以赫兹为单位的FLIR Lepton刷新率。
- sensor.IOCTL_LEPTON_GET_RESOLUTION¶
以位为单位获得FLIR Lepton ADC分辨率。
- sensor.IOCTL_LEPTON_RUN_COMMAND¶
给定FLIR Lepton SDK,执行一个16位的命令。
- sensor.IOCTL_LEPTON_SET_ATTRIBUTE¶
给定FLIR Lepton SDK,设置FLIR Lepton属性。
- sensor.IOCTL_LEPTON_GET_ATTRIBUTE¶
给定FLIR Lepton SDK,获取FLIR Lepton属性。
- sensor.IOCTL_LEPTON_GET_FPA_TEMPERATURE¶
获取以摄氏度为单位的FLIR Lepton FPA温度。
- sensor.IOCTL_LEPTON_GET_AUX_TEMPERATURE¶
获取以摄氏度为单位的FLIR Lepton AUX温度。
- sensor.IOCTL_LEPTON_SET_MEASUREMENT_MODE¶
让您获得用于测量模式的温度范围。有关更多信息,请参见
sensor.ioctl()
。
- sensor.IOCTL_LEPTON_GET_MEASUREMENT_MODE¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_LEPTON_SET_MEASUREMENT_RANGE¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_LEPTON_GET_MEASUREMENT_RANGE¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_HIMAX_MD_ENABLE¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_HIMAX_MD_CLEAR¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_HIMAX_MD_WINDOW¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_HIMAX_MD_THRESHOLD¶
让您控制 HM01B0 上的运动检测中断。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.IOCTL_HIMAX_OSC_ENABLE¶
让您控制 HM01B0 上的内部振荡器。 有关更多信息,请参阅
sensor.ioctl()
。
- sensor.SINGLE_BUFFER¶
传递给
sensor.set_framebuffers()
以设置单缓冲区模式(1 个缓冲区)。
- sensor.DOUBLE_BUFFER¶
传递给
sensor.set_framebuffers()
以设置单缓冲区模式(2个缓冲区)。
- sensor.TRIPLE_BUFFER¶
传递给
sensor.set_framebuffers()
以设置单缓冲区模式(3 个缓冲区)。
- sensor.VIDEO_FIFO¶
传递给
sensor.set_framebuffers()
以设置单缓冲区模式(4 个缓冲区)。