Seite 1 von 1

Video Analyse

Verfasst: 27.08.2011 21:14
von Gerold61
Ich möchte ein AVI nach definierten grafischen Merkmalen untersuchen.
Dazu muß ich Frame für Frame untersuchen.
Meine Frage: Wie kann ich mir nacheinander die Einzelbilder anzeigen lassen um dann den Bildschirminhalt auslesen und untersuchen ?

Re: Video Analyse

Verfasst: 27.08.2011 21:28
von Dave
Hallo Gerold61,

Das sollte eigentlich mit der PB-Movie Library gehen.

Code: Alles auswählen

Ergebnis = MovieSeek(#Movie, Frame)
damit kann man einzeln durch alle Frames gehen, wenn das Movie pausiert ist.

Lg Dave

Re: Video Analyse

Verfasst: 28.08.2011 10:24
von dige
Finde leider das Originalposting nicht mehr. War vielleicht von fr34k.
Mit Video\GetCurrentImage () kann man aus dem aktuellen Videostream
ein Snapshot ziehen.

Am besten Du suchst im englischen Forum nach den Interfaces bzw.
Strukturen des folgenden Codes:

Code: Alles auswählen

Procedure.l CatchMovieImage (MovieID, ImgID = #PB_Any)
  Protected *Movie.PB_StructureMovie, *Video.IBasicVideo, *Window.IVideoWindow
  Protected *ImageData.BITMAPINFOHEADER, DataSize, Parent, Result = -1
  
  *Movie  = IsMovie(MovieID)
  *Movie  + MovieID * SizeOf(PB_StructureMovie)
  *Window = *Movie\Window
  *Video  = *Movie\Video
  
  If *Video\GetCurrentImage(@DataSize, 0) = #S_OK
    
    *ImageData = AllocateMemory(DataSize)
    If *ImageData
      
      If *Video\GetCurrentImage(@DataSize, *ImageData) = #S_OK

         ; Ab hier die liegen die Pixel als DIB Section ab *ImageData
         ; zur Verfügung


      EndIf
      
      FreeMemory(*ImageData)
    EndIf
    
  EndIf   

  ; Bild neu zeichnen
  *Window\get_Owner(@Parent) 
  RedrawWindow_(Parent,0,0,#RDW_INVALIDATE)
  
  ProcedureReturn Result
EndProcedure