Wand TypeError

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
__deets__
User
Beiträge: 14529
Registriert: Mittwoch 14. Oktober 2015, 14:29

Also wenn das Bild das dort oben stellvertretend ist fuer ein Video das ihr bekommt - doch, dann kann man da rechts die Folie versuchen im PDF zu finden.

Ich habe mir aus beruflichen Gruenden vor zwei Jahren Zugang zu pyimagesearch.com gekauft, ich finde Adrian hat da einen guten Online-Kurs erstellt. Das kostet aber ein paar hundert $. Er hat auch viel freien Content, sich da durch zu arbeiten kann nicht schaden.

Und Keras & Co helfen hier nur bedingt, denn die Aufgabe ist nicht "erkenne irgendwas, das irgendwie eine Folie/Katze/Maus/Hund ist", sondern eine *konkrete* Folie die du vor allem auch vorher noch nicht trainieren konntest. In vorvearbeitenden Stufen mag da ein NN zur Anwendung kommen, aber schlussendlich ist das eine Frage die eher durch Image Deskriptoren (zB SIFT) und ggf. OCR. Denn du hast ja meistens Text auf den Folien.

https://web.archive.org/web/20170207033 ... ecognition

Und mit SIFT und Co kannst du Aehnlichkeiten zwischen dem Video-Ausschnitt und einer Folie auch unabhaengig von Text berechnen, und das fuer eine Heuristik zugrunde legen.
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

Ok vielen Dank erstmal :) Ich werde mich da mal ein wenig durcharbeiten
Benutzeravatar
Felix92
User
Beiträge: 133
Registriert: Mittwoch 7. November 2018, 17:57

Huhu ich mal wieder :)
Und zwar möchte ich einen bestimmten Bereich aus einem Video als "extra" Video abspeichern klappt auch alles super allerdings lässt sich das Video nach dem speichern nicht abspielen woran liegt das ?
Fehler:

Code: Alles auswählen

OpenCV: FFMPEG: tag 0x5634504d/'MP4V' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'
Code:

Code: Alles auswählen

def large_video_in_slide(video_path, videoname):
    video_file = Path(video_path, videoname)

    cap = cv2.VideoCapture(str(video_file))

    fourcc = cv2.VideoWriter_fourcc(*'MP4V')
    out = cv2.VideoWriter('output.mp4', fourcc, 20.0, (1280,720))

    if(cap.isOpened() == False):
        print("Error opening video stream or file")

    while(cap.isOpened()):
        ret, frame = cap.read()
        if ret == True:
            frame = frame[275:805, 17:955]
            out.write(frame)
            cv2.imshow('Frame', frame)

            if cv2.waitKey(25) & 0xFF == ord('q'):
                break
        else:
            break
    cap.release()
    cv2.destroyAllWindows()
Vielen Dank und MfG Felix :)
Benutzeravatar
__blackjack__
User
Beiträge: 13079
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Felix92: Es fehlt irgendwie das schliessen der Videodatei‽ Und was bedeutet denn das letzte Argument beim `VideoWriter()`-Aufruf? Das scheint mir falsch zu sein.

``if`` und ``while`` sind keine Funktionen, also sollte man das auch nicht so schreiben dass es wie ein Funktionsaufruf aussieht. Statt aber nur ein Leerzeichen nach diesen Schlüsselworten zu setzen, kann man auch gleich die überflüssige Klammern weg lassen.

Man vergleicht kleine Werte mit literalen Wahrheitswerten. Da kommt doch sowieso nur wieder ein Wahrheitswert bei heraus. Entweder der, den man eh schon hatte, dann kann man den auch gleich verwenden, oder dessen Gegenteil. Wenn man auf das Gegenteil testen möchte, nimmt man einfach ``not``. also ``if not cap.isOpened():`` und ``if ret:``.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten