Add.overlay - bei 2 Schichten ist bereits out of memory

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich habe ein Problem: Ich würde in meiner Kamera-Preview ein Countdown einblenden. Der zählt dann von 7 - 1 runter und das Bild wird geschossen.

    Dabei wird ein Bild dauerhaft im Hintergrund des Countdowns eingeblendet.

    Hier der entsprechende Code:

    Overlayback.png wird angezeigt. die Datei x07. png wird allerdings nicht überblendet sondern die Vorschau bricht ab mit folgender Fehlermeldung:

    Hat mir jemand eine Lösung wie ich das Problem lösen kann?

    Ich habe ein Raspberry pi 4 mit 4 gb ram. Daran solls nicht liegen ;)

    Grüße Chris

  • Add.overlay - bei 2 Schichten ist bereits out of memory? Schau mal ob du hier fündig wirst!

  • Hallo,

    zu dem Code fehlen irgendwie ein paar Zusammenhänge. Ich würde mal nicht ein Bild nach dem anderen öffnen, sondern vor dem öffnen des nächsten, dass das nicht mehr gebraucht wird, wieder schließen. Dazu könntest du das 'with'-Statement nehmen oder Alternativ 'contexlib'.

    Funktioniert den die Kamera ohne deine Bilder?

    Kannst du mal ein vollständiges Minimalbeispiel schreiben, dass das Problem reproduziert?

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Hallo Dennis,

    Danke für deine Antwort.

    Die Bilder werden ja geschlossen - außer eben das erste Bild welches als Hintergrund fungieren soll.

    Bsp. Zeile 47:

    Code
    camera.remove_overlay(o07)

    Von daher verstehe ich das Ganze auch nicht.

    Die Kamera funktioniert einwandfrei.

  • Hallo,

    ich meinte eher das“Image.open“. Aber mehr ist mir zumindest zum Thema Speicher nicht aufgefallen.

    Wenn sich niemand mehr meldet, musst du das Programm mal soweit zurück bauen, bis es funktioniert um den Fehler zu finden.

    Grüße

    Dennis

    🎧 With the music execution and the talk of revolution, it bleeds in me and it goes 🎧

  • Der Code sieht auf jeden Fall so aus als sollte man da mal nummerierte Namen loswerden und die Codewiederholungen durch eine Schleife ersetzen.

    Wieviel RAM wird denn für den Videochip reserviert? Drei Bilder in der Auflösung belegen alleine ja schon 44½ MiB und der Desktop braucht ja auch noch Speicher.

    “Dawn, n.: The time when men of reason go to bed.” — Ambrose Bierce, “The Devil's Dictionary”

  • Wo kann ich die Auslastung des Videochips auslesen?

    So direkt (vermute ich mal) nirgends, aber evtl. hilft vcgencmd mem_oom wenigstens etwas weiter. Laut Doku

    Displays statistics on any OOM (out of memory) events occurring in the VideoCore memory space.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!