mjpeg — mjpeg-tallennus¶
mjpeg-moduulia käytetään mjpeg-tallennukseen. Käytä sitä pitkien videoleikkeiden tallentamiseen pakattuna kuvadatana. Käytä gif-moduulia lyhyisiin leikkeisiin.
Esimerkkikäyttö:
import csi
import mjpeg
import time
# Setup camera.
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)
# Create the mjpeg object.
m = mjpeg.Mjpeg("example.mjpeg")
# Record for 20 seconds.
start = time.ticks_ms()
while time.ticks_diff(time.ticks_ms(), start) < 20000:
m.add_frame(csi0.snapshot())
# Finalize.
m.close()
class Mjpeg – Mjpeg-tallennin¶
- class mjpeg.Mjpeg(path: str, width: int | None = None, height: int | None = None)¶
Luo Mjpeg-objektin, johon voit lisätä kehyksiä.
pathon tiedostojärjestelmän polku, johon mjpeg-tallenne tallennetaan.widthon mjpeg-tiedoston vaakaresoluutio. Oletuksena pääkehyspuskurin leveys, kun arvoa ei ole määritetty.heighton mjpeg-tiedoston pystyresoluutio. Oletuksena pääkehyspuskurin korkeus, kun arvoa ei ole määritetty.- is_closed() bool¶
Palauttaa
True, jos tiedosto on suljettu. Suljettuun tiedostoon ei voi enää kirjoittaa dataa.
- add_frame(image: image.Image, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: image.Image | None = None, alpha_palette: image.Image | None = None, hint: int = 0, quality: int = 90) None¶
Lisää
image-kuvan mjpeg-tallenteeseen. Kuva skaalataan automaattisesti kuvasuhde säilyttäen siihen resoluutioon, joka määritettiin tiedostoa luotaessa. Mikä tahansa kuvamuoto hyväksytään; tämä metodi purkaa, skaalaa/muuntaa ja pakkaa kuvan uudelleen tarpeen mukaan.roionimage-kuvasta kopioitava kohdealueen suorakulmion monikko(x, y, w, h). Oletuksena koko kuva.rgb_channelon RGB-kanava (0=R, 1=G, 2=B), joka poimitaan RGB565-lähdekuvasta ja renderöidään harmaasävyisenä.-1(oletus) poistaa kanavan poiminnan käytöstä.alpha(0-255) ohjaa, kuinka paljon lähdekuvasta sekoitetaan kohteeseen.255on läpinäkymätön; pienemmät arvot sekoittavat mustaan taustaan;0tuottaa mustan kehyksen.color_paletteon joko väripaletin enum (esim.image.PALETTE_RAINBOW) tai 256-pikselinen RGB565-kuva, jota käytetään värihakutaulukkona lähdekuvan harmaasävyarvolle. Sovelletaanrgb_channel-poiminnan jälkeen.alpha_paletteon 256-pikselinen harmaasävykuva, jota käytetään alfa-hakutaulukkona moduloimaanalpha-arvoa lähdepikselikohtaisesti sen harmaasävyarvon perusteella.255on läpinäkymätön;0on läpinäkyvä. Sovelletaanrgb_channel-poiminnan jälkeen.hinton looginen TAI seuraavista:image.AREA: Käytä aluepohjaista skaalausta pienennettäessä.image.BILINEAR: Käytä bilineaarista skaalausta.image.BICUBIC: Käytä bikuubista skaalausta.image.CENTER: Keskitä kuva kohteeseen.image.HMIRROR: Peilaa kuva vaakasuunnassa.image.VFLIP: Käännä kuva pystysuunnassa.image.TRANSPOSE: Transponoi kuva (vaihda x/y).image.EXTRACT_RGB_CHANNEL_FIRST: Sovellargb_channelennen skaalausta.image.APPLY_COLOR_PALETTE_FIRST: Sovellacolor_paletteennen skaalausta.image.SCALE_ASPECT_KEEP: Skaalaa mahtumaan kohteen sisään.image.SCALE_ASPECT_EXPAND: Skaalaa täyttämään kohde (rajaa).image.SCALE_ASPECT_IGNORE: Skaalaa täyttämään kohde (venyttää).image.ROTATE_90: Kierrä 90 astetta (VFLIP | TRANSPOSE).image.ROTATE_180: Kierrä 180 astetta (HMIRROR | VFLIP).image.ROTATE_270: Kierrä 270 astetta (HMIRROR | TRANSPOSE).
quality(0-100) on JPEG-pakkauslaatu, jota käytetään muille kuin JPEG-lähdekuville.
- write(image: image.Image, roi: Tuple[int, int, int, int] | None = None, rgb_channel: int = -1, alpha: int = 255, color_palette: image.Image | None = None, alpha_palette: image.Image | None = None, hint: int = 0, quality: int = 90) None¶
Alias metodille
Mjpeg.add_frame().