tv — tv shield driver¶
The tv module is used for controlling the tv shield.
Example usage:
import sensor, tv
# Setup camera.
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.SIF)
sensor.skip_frames()
tv.init()
# Show image.
while(True):
tv.display(sensor.snapshot())
Functions¶
- tv.init(type=TV_SHIELD, triple_buffer=False) None¶
Initializes an attached tv output module.
typeindicates how the lcd module should be initialized:tv.TV_NONE: Do nothing.tv.TV_SHIELD: Initialize a TV output module. Uses pins P0, P1, P2, and P3.
triple_bufferIf True then makes updates to the screen non-blocking intv.TV_SHIELDmode at the cost of 3X the display RAM (495 KB).
- tv.width() int¶
Returns 352 pixels. This is the
sensor.SIFresolution.
- tv.height() int¶
Returns 240 pixels. This is the
sensor.SIFresolution.
- tv.channel(channel: int | None = None) int¶
For the wireless TV shield this sets the broadcast channel between 1-8. If passed without a channel argument then this method returns the previously set channel (1-8). Default is channel 8.
- tv.display(image: image.Image, x=0, y=0, x_scale=1.0, y_scale=1.0, roi: Tuple[int, int, int, int] | None = None, rgb_channel=-1, alpha=256, color_palette=None, alpha_palette=None, hint=0)¶
Displays an
imagewhose top-left corner starts at location x, y.x_scalecontrols how much the displayed image is scaled by in the x direction (float). If this value is negative the image will be flipped horizontally. Note that ify_scaleis not specified then it will matchx_scaleto maintain the aspect ratio.y_scalecontrols how much the displayed image is scaled by in the y direction (float). If this value is negative the image will be flipped vertically. Note that ifx_scaleis not specified then it will matchx_scaleto maintain the aspect ratio.roiis the region-of-interest rectangle tuple (x, y, w, h) of the image to display. This allows you to extract just the pixels in the ROI to scale.rgb_channelis the RGB channel (0=R, G=1, B=2) to extract from an RGB565 image (if passed) and to render on the display. For example, if you passrgb_channel=1this will extract the green channel of the RGB565 image and display that in grayscale.alphacontrols how opaque the image is. A value of 256 displays an opaque image while a value lower than 256 produces a black transparent image. 0 results in a perfectly black image.color_paletteif not-1can be an a color palette enum or a 256 pixel in total RGB565 image to use as a color lookup table on the grayscale value of whatever the input image is. This is applied afterrgb_channelextraction if used.alpha_paletteif not-1can be a 256 pixel in total GRAYSCALE image to use as a alpha palette which modulates thealphavalue of the input image being displayed at a pixel pixel level allowing you to precisely control the alpha value of pixels based on their grayscale value. A pixel value of 255 in the alpha lookup table is opaque which anything less than 255 becomes more transparent until 0. This is applied afterrgb_channelextraction if used.hintcan be a logical OR of the flags:image.AREA: Use area scaling when downscaling versus the default of nearest neighbor.image.BILINEAR: Use bilinear scaling versus the default of nearest neighbor scaling.image.BICUBIC: Use bicubic scaling versus the default of nearest neighbor scaling.image.CENTER: Center the image being drawn on the display. This is applied after scaling.image.HMIRROR: Horizontally mirror the image.image.VFLIP: Vertically flip the image.image.TRANSPOSE: Transpose the image (swap x/y).image.EXTRACT_RGB_CHANNEL_FIRST: Do rgb_channel extraction before scaling.image.APPLY_COLOR_PALETTE_FIRST: Apply color palette before scaling.image.SCALE_ASPECT_KEEP: Scale the image being drawn to fit inside the display.image.SCALE_ASPECT_EXPAND: Scale the image being drawn to fill the display (results in cropping)image.SCALE_ASPECT_IGNORE: Scale the image being drawn to fill the display (results in stretching).image.ROTATE_90: Rotate the image by 90 degrees (this is just VFLIP | TRANSPOSE).image.ROTATE_180: Rotate the image by 180 degrees (this is just HMIRROR | VFLIP).image.ROTATE_270: Rotate the image by 270 degrees (this is just HMIRROR | TRANSPOSE).