tv — tv shield driver

tv 模块用于控制TV图传扩展板。

Example usage:

import sensor, tv

#设置相机。
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.SIF)
sensor.skip_frames()
tv.init()

#显示图像。
while(True):
    tv.display(sensor.snapshot())

功能

tv.init([type=tv.TV_SHIELD[, triple_buffer=False]])

初始化附加的TV输出模块。

type 表示应该如何初始化 tv 模块:

  • tv.TV_NONE:什么都不做。

  • tv.TV_SHIELD:初始化tv输出模块。 使用引脚 P0、P1、P2 和 P3。

triple_buffer 如果为 True,则在 tv.TV_SHIELD 模式下以 3 倍的显示 RAM (495 KB) 为代价对屏幕进行非阻塞更新。

tv.deinit()

取消初始化tv模块、内部/外部硬件和 I/O 引脚。

lcd.width()

返回 352 像素。 这是 `sensor.SIF``分辨率。

lcd.height()

返回 240 像素。 这是 sensor.SIF 分辨率。

tv.type()

返回在 tv.unit() 期间设置的屏幕类型。

tv.triple_buffer()

返回是否启用了在 tv.unit() 期间设置的三重缓冲。

tv.refresh()

返回 60 赫兹。

tv.channel([channel])

对于无线图传扩展板,这将广播频道设置在 1-8 之间。如果在没有通道参数的情况下传递,则此方法返回先前设置的通道 (1-8)。默认为通道 8。

tv.display(image[, x=0[, y=0[, x_scale=1.0[, y_scale=1.0[, roi=None[, rgb_channel=-1[, alpha=256[, color_palette=None[, alpha_palette=None[, hint=0[, x_size=None[, y_size=None]]]]]]]]]]]])

显示一个 image ,其左上角从位置 x, y 开始。您可以单独传递 x, y ,作为元组 (x, y) 或两者都不传递。

x_scale 控制显示图像在 x 方向(浮点数)的缩放比例。如果此值为负,则图像将水平翻转。

y_scale 控制显示图像在 y 方向(浮点数)的缩放比例。如果此值为负,则图像将垂直翻转。

roi 是要显示的图像的感兴趣区域矩形元组 (x, y, w, h)。这允许您仅提取 ROI 中的像素以进行缩放。

rgb_channel 是从 RGB565 图像(如果传递)中提取并在显示器上呈现的 RGB 通道(0=R、G=1、B=2)。 例如,如果您传递 rgb_channel=1 这将提取 RGB565 图像的绿色通道并以灰度显示。

alpha 控制图像的不透明程度。值 256 显示不透明图像,而小于 256 的值生成黑色透明图像。 0 生成完美的黑色图像。

color_palette 如果不是 -1 可以是 sensor.PALETTE_RAINBOWsensor.PALETTE_IRONBOW, 或总共 256 像素的 RGB565 图像,用作任何输入灰度值的颜色查找表图像。如果使用,这将在 rgb_channel 提取之后应用。

alpha_palette 如果不是 -1 可以是总共 256 像素的 GRAYSCALE 图像,用作 alpha 调色板,它调制以像素像素级别显示的输入图像的 alpha 值, 允许您根据像素的灰度值精确控制像素的 alpha 值。 alpha 查找表中的 255 像素值是不透明的,任何小于 255 的像素值都会变得更透明,直到 0。 如果使用,则在 rgb_channel 提取之后应用。

hint 可以是标志的逻辑 OR:

如果没有传递 x_scale 来指定要显示的图像的大小,则可以传递 x_size 并且 x_scale 将自动确定传递的输入图像大小。 如果 y_scaley_size 都没有指定,那么 y_scale 内部将设置为等于 x_size 以保持纵横比。

如果没有传递 y_scale 以指定要显示的图像的大小,则可以传递 y_size 并且 y_scale 将自动确定传递的输入图像大小。 如果 x_scalex_size 都没有指定,那么 x_scale 内部将设置为等于 y_size 以保持纵横比。

不支持压缩图像。

常数

tv.TV_NONE

当此模块未初始化时由 tv.type() 返回。

tv.TV_SHIELD

用于初始化 TV 模块。