mjpeg — mjpeg felvétel¶
Az mjpeg modul mjpeg felvételhez használatos. Használja hosszú videoklipek tömörített képadatként való rögzítéséhez. Rövid klipekhez használja a gif modult.
Példa használat:
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 felvevő¶
- class mjpeg.Mjpeg(path: str, width: int | None = None, height: int | None = None)¶
Létrehoz egy Mjpeg objektumot, amelyhez képkockákat adhat hozzá.
A
patha fájlrendszerbeli elérési út, ahová az mjpeg felvételt menti.A
widthaz mjpeg fájl vízszintes felbontása. Ha nincs megadva, a fő képkocka-puffer szélességére áll be alapértelmezésként.A
heightaz mjpeg fájl függőleges felbontása. Ha nincs megadva, a fő képkocka-puffer magasságára áll be alapértelmezésként.- 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¶
Hozzáfűzi az
image-t az mjpeg felvételhez. A kép automatikusan átméreteződik a képarány megtartásával a fájl létrehozásakor megadott felbontásra. Bármilyen képformátum elfogadott; ez a metódus szükség szerint kitömöríti, átméretezi/konvertálja és újratömöríti.A
roiazimagemásolandó érdeklődési terület téglalapjának tuple-je(x, y, w, h). Alapértelmezésként a teljes kép.Az
rgb_channelaz RGB565 forráskép-ből kinyerendő és szürkeárnyalatosan megjelenítendő RGB csatorna (0=R, 1=G, 2=B). A-1(alapértelmezett) letiltja a csatorna-kinyerést.Az
alpha(0-255) szabályozza, hogy a forrásképből mennyi keveredjen a célba. A255átlátszatlan; az alacsonyabb értékek fekete háttérrel keverednek; a0fekete képkockát eredményez.A
color_palettevagy egy színpaletta enum (pl.image.PALETTE_RAINBOW), vagy egy 256 képpontos RGB565 kép, amelyet színkikereső táblaként használ a forráskép szürkeárnyalatos értékén. Azrgb_channelkinyerés után alkalmazza.Az
alpha_paletteegy 256 képpontos szürkeárnyalatos kép, amelyet alfa kikereső táblaként használ, modulálva azalpha-t forrásképpontonként annak szürkeárnyalatos értéke alapján. A255átlátszatlan; a0átlátszó. Azrgb_channelkinyerés után alkalmazza.A
hinta következők logikai VAGY-a:image.AREA: Terület-skálázás használata kicsinyítéskor.image.BILINEAR: Bilineáris skálázás használata.image.BICUBIC: Bikubikus skálázás használata.image.CENTER: A kép középre igazítása a célban.image.HMIRROR: A kép vízszintes tükrözése.image.VFLIP: A kép függőleges átfordítása.image.TRANSPOSE: A kép transzponálása (x/y csere).image.EXTRACT_RGB_CHANNEL_FIRST: Azrgb_channelalkalmazása a skálázás előtt.image.APPLY_COLOR_PALETTE_FIRST: Acolor_palettealkalmazása a skálázás előtt.image.SCALE_ASPECT_KEEP: Skálázás a célon belülre illesztéshez.image.SCALE_ASPECT_EXPAND: Skálázás a cél kitöltéséhez (levág).image.SCALE_ASPECT_IGNORE: Skálázás a cél kitöltéséhez (nyújt).image.ROTATE_90: Forgatás 90 fokkal (VFLIP | TRANSPOSE).image.ROTATE_180: Forgatás 180 fokkal (HMIRROR | VFLIP).image.ROTATE_270: Forgatás 270 fokkal (HMIRROR | TRANSPOSE).
A
quality(0-100) a nem JPEG forrásképekhez használt JPEG tömörítési minőség.
- 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¶
A
Mjpeg.add_frame()aliasa.