delogo: stackhorizontal: image formats don't match

  • morsch'n,

    heute mal wieder ein versuch einer logoentfernung mit delogo. alles lief einwandfrei bis zur erstellung der masken. delogo_filter.avs ist korrekt angepasst. der aufruf in der skript-datei erfolgt so:

    Code
    avisource("capture.avi")
    trim(4962,35390)
    import("d:\delogo.avs")
    delogo(204, 164 ,"LU" ,"logo")

    beim öffnen der datei kommt o.g. meldung. die bildgröße kann es nicht sein, denn beim laden der analyse.bmp hat alles super geklappt.

    avi hat eine auflösung von 704x576, logo ist links unten.

  • "image format" meint eventuell den Farbraum. (RGB, YUV2 oder YV12)

    mawi2006

    Intel Q9550@2500 MHz / Motherboard Name Asus P5N-VM WS / Grafikkarte NVIDIA Quattro FX470 / 4x2 GB 800 MHz / DVD-RAM DVR-216DBK / LiteOn IHas 322 / HDD: 500 GB HD502HJ / SSD: Solidata K5 64GB

  • Das Delogo-Script erwartet eine YV12-Source, weil die MaskTools (damals) nur mit YV12, nicht aber mit YUY2 umgehen können/konnten. Dein Video liegt vermutlich in YUY2 vor, und dann gibt's intern eine Kollision mit den Farbräumen.

    Probier's mal mit

    AviSource( ... ) .ConvertToYV12( interlaced = ? )

    statt dem ? entweder ein "true" oder ein "false" setzen, je nach dem ob das Capture interlaced oder progressiv ist.

  • Also die sache mit dem entfernen von logos täte mich auchmal interessieren, aber wenn ich mir so die threads, anleitungen etc. anschaue ist das doch eher was für leute mit nem IQ im Bereich Nobelpreisträger, für meinereinen komplett bömische dörfer.

    Trotzdem hätt ich mal gerne gewußt obs z.B. überhaupt möglich ist, die in meinem Beispielbild mit Pfeil markierten Schriften zufriedenstellend aus dem Bild (was auch ne Videosequenz ist) zu entfernen, bevor ich mir die mühe mache mich in das Thema zu vertiefen (Versagensquotient = hoch).

  • Soweit ich das aus deinem Beispiel sehe, ist da keine Transparenz vorhanden, was bedeutet, dass man die Schrift nur "verschmieren" kann. Habe mal eben zur Veranschaulichung ein Schnellschuss mit DeLogo gemacht, geht bestimmt noch etwas besser.

    Dateien

    mawi2006

    Intel Q9550@2500 MHz / Motherboard Name Asus P5N-VM WS / Grafikkarte NVIDIA Quattro FX470 / 4x2 GB 800 MHz / DVD-RAM DVR-216DBK / LiteOn IHas 322 / HDD: 500 GB HD502HJ / SSD: Solidata K5 64GB

  • wie gesagt, das bild fürs Hauptmenü (ähnlich abbild) hab ich schon gecaptured und mit Photopaint "verschmiert", womit ich recht zufrieden bin. Nur es soll halt ein LoopMenü werden, wo dieses bild das letzte des Introclips ist, und aus der Videosequenz möcht ich halt den "kleinen Lord", den "Tafel 150" Hinweis und die 2 eingeblendeten Hauptdarsteller auch noch gerne raus haben (evtl. auch noch das ARD-Logo was fast garnicht auffällt).
    Ist halt nur die frage ob man das zufriedenstellend mit delogo oder sonstwas machen kann und wie kompliziert das wäre. Hab ja halt kein Remasteringstudio daheim.
    Zwar könnte man wohl die Sequenz in ihre Einzelbilder zerlegen, von hand entfernen und wieder zusammenfügen, aber bei den 10 sekunden sinds ja auch schon schätzungsweise 250 Bilder, was IMHO doch auch schon ein bischen viel handarbeit wäre die man sich nicht unbedingt gerne macht.

    Also wie gut ist Delogo und vor allem wie kompliziert. Muss ich wohl aber erstmal noch hier im forum nach den links suchen.

    :esel: Verlang ich zu viel, oder bin ich einfach nur zu blöd? :ichdoof:

  • mawi hat schon die massgebende Aussage gemacht. Es handelt sich um nicht transparente Logos und die kannst Du mit DeLogo nicht so in den Griff bekommen, wie Du es Dir sicherlich vorstellst. Ich habe gerade den DeLogo-Thread so halbwegs durchgearbeitet... und das ist eine der Kernaussagen bzgl. des Logo-Entfernens. Du wirst immer solch ein Bild (oder ein Vergleichbares) erhalten, wie es mawi gepostet hat. Für diese opaque-Logos kannst Du es höchstens mal mit X-Logo probieren.

    Anders sieht es mit dem ARD-Sender-Logo aus. Hier sind die Chancen recht gross, dass Du es zufriedenstellend entfernen kannst, dass es fast nicht mehr zu sehen ist.

    Gruss

  • Nunja, automatisierung wäre schön, aber wenns nicht wirklich akzeptabel geht, kann ich man da wohl nix machen.

    Da aber in dem Fall das Intro nur kurz ist (in einzelbilder zerlegt "nur" 268) und ich momentan viel zeit habe, da krank, versuch ichs mal über photopaint mit "copy'n'paste". Immerhin gibts jedes Bild auch ohne Schriftzug und mit dieser "reinen" variante läßt sich glaub ich durchaus arbeiten. Mal sehen wie nachher das endresultat aussehen wird.

    Ich bin zwar nicht gerade perfektionist, aber erstmal steht der anspruch es ordentlich möglichst zu machen.


    Nachtrag:

    Wie ich inzwischen festgestellt hab ist diese Angelegenheit wirklich sehr zeitintensiv und dabei ist mir eine Frage gekommen.
    Welche möglichkeiten haben denn die Leute die das professionell machen? Ich meine, wenn man so eine Sequenz hat die eigentlich nur aus der drei Kohlegemälden (oder wie man die nennt) bestehen wo sich ja nix drin bewegt, über die eine Kamerafahrt mit zoom stattfindet, auf die überblendet wird und wo dann nachträglich Schriftzüge eingefügt wurden, müßte es doch Wege geben eben diese Schriftzüge, ob transparent oder nicht, auch wieder irgendwie zu entfernen. Immerhin ist, zumindest bei nem Großteil der der Grundbilder, fast jede Position im Bild auch ohne die Einblendung im Bild. Haben die Professionellen da evtl. Programme mit Algorythmen für die in der Lage sind eben die Pixel an den Stellen ohne die Einblendung abzugreifen und automatisch bei den mit Einblendung zu ersetzten? Ich versteh nämlich immer noch nicht warum das absolut nicht möglich sein soll, abgesehen bei uns "Laien" ohne das nötige Fachwissen und Portemonaie.

  • Wie die Professionellen das machen, kann ich mir auch nur denken.

    Wenn Du nur 3 Einzelbilder hast, dann bearbeite doch jedes zu einem Bild ohne Schriftzug mit dem Zeichenprogramm (Malprogramm hört sich so nach Kinderspielzeug an...lol). Das lässt sich sicherlich so gut hinbekommen, dass man den Schriftzug noch nicht mal mehr erahnen kann.

    - Dann lädst Du die Bilder mit ImageReader und Loop(1000) für die Dauer der Frames oder ...
    - wenn Du auf den Zoom nicht verzichten möchtest, die Zoom.dll oder ein ähnliches Tool (zB ZoomBox oder KenBurnseffekt... im englischen Forum zu finden) und kannst die gleichen Effekte auch zu Hause, und zwar kostenlos, erreichen! :ani_lol:

    Gruss

  • Also ich hab jetzt mal ein wenig mit Xlogo herumexperimentiert und muß sagen, es funktioniert einfach nicht. Dabei hab ich mich weitestgehend an die Guides gehalten die ich gefunden habe.

    Mein Testscript:

    AVISource("G:\DVD Bastel\Arbeitsordner\X-Logo Versuche\Ab Tafel150.avi")
    LoadPlugin("C:\Programme\AviSynth 2.5\plugins\xlogo.dll")
    Xlogo("G:\DVD Bastel\Arbeitsordner\X-Logo Versuche\Tafel2.bmp",82,484,0)
    converttoyv12()

    Dabei ist es egal ob die LoadPlugin-Zeile drin ist oder nicht. Ausprobiert hab ich TmGeNc, VirtualDubMod und den HCEncoder.
    Der HCEncoder ist der einzige der das Script so ließt dann aber beim Codierversuch die Fehlermeldung "MPEG2 encoder hat ein Problem festgestellt und muss beendet werden." auswirft. Vdub und TEMP schließen sofort.

    Also Pustekuchen

    :esel: Verlang ich zu viel, oder bin ich einfach nur zu blöd? :ichdoof:

  • Schließen ohne Fehlermeldung könnte aus dem Farbformat resultieren, versuch doch mal vor Xlogo in ein anders Format zu konvertieren

    mawi2006

    Intel Q9550@2500 MHz / Motherboard Name Asus P5N-VM WS / Grafikkarte NVIDIA Quattro FX470 / 4x2 GB 800 MHz / DVD-RAM DVR-216DBK / LiteOn IHas 322 / HDD: 500 GB HD502HJ / SSD: Solidata K5 64GB

  • Aufgrund des Hinweises von Selur habe ich mich mit AVSInpaint beschäftigt. Problem war, dass ich die im englischen Forum veröffentliche Function "AVSInpaintFunc.avs" wegen falscher Parametereingabe nicht zum Laufen bringen konnte.

    Daher legte ich das von spuds erstellte Script "rm_logo" zu Grunde, welches ebenfalls auf der "AVSInpaint.dll" basiert.

    Zwei verschiedene Logos habe ich herangezogen, und zwar
    - das transparente vh1classic-Logo
    - das opaque, neuere Logo von vh1classic.

    Maske kurz erstellt (Logo weiss, der Rest schwarz) und zu meiner Überraschung war der jeweils 1.Versuch schon recht gelungen, obwohl ich mir bei der Maskenerstellung keine besonderen Mühe gegeben hatte und ich auch an den möglichen Parametern von rm_logo keine besonderen Einstellungen vorgenommen habe.

    Code:

  • Also ich hab mir die vermutung von mawi2006 mal zu herzen genommen und er hatte recht. wieder einmal kams darauf an wo eine bestimme zeile im scipt steht. Argh.. ;)

    Bin mit dem Ergebnis sogar recht zufrieden. Besonders beim ARD-Logo, was bei dem Ursprungsmaterial ja auch nicht schwer war da der Clip hauptsächlich in Graustufen ist. Sobar die Tafel 150 geht einigermaßen weg. Nur die in Gelb gehaltenen Darsteller und Filmtitel scheinen mit x-logo nicht zu gearbeiten zu gehen. Wohl zu groß. Das script ist korrekt (abgewandelt von den jetzt funktionierenden) aber VDub macht nur ein grünes bild.

    Bleibt immer noch die Frage ob es nicht einen Filter gibt der ungefähr folgendes macht:

    1. Einzelbilder in 2 Ebenen aufteilen. Ebene1=bewegendes graustufen Hintergrundbild; Ebene2=gelber stationärer Darstellername.
    2. die veränderungen der Graustufen des Hintergrundbildes registriert, das bild in vertikale Bildzeilen aufteilt, und entsprechend die Graustufenveränderungen zur entfernung des Darstelleranteils verwendet.

    Ich hoffe das war einigermaßen verständlich. Denn wie schonmal gesagt, der Hintergrund verschiebt sich hinter den Darstellernamen und somit ist jeder Pixel des Hintergrundes (den ich ja ohne Darsteller haben will), der zu Zeitpunkt-x von einem Pixel des Darstellernamens verdeckt wird, zu mindestens einem anderen Zeitpunkt als ursprünglicher Bildpixel zu sehen.

    Um die Sache weiter zu verkomplizieren hätt ich eine weitere frage:

    Welche möglichkeiten hab ich als Laie mit standardprogrammen, auf grundlage meiner vorherigen Ausführungen das "Gesamtbild" der ZoomKamerafahrt über das Gemälde zurückzuerstellen? Eigentlich reicht so ca. jedes zehnte Bild der Sequenz, das dann stimmig gezoomt, über das vorherige Bild positioniert werden muß und aus dem dann der LogoSchriftanteil entfernt werden muß, wo er nicht gebraucht wird. Nur mit welchen Programmen läßt sich das machen? Immerhin hat die STimmigkeit höchste Priorität, weils Bild sonst verwaschen aussieht.
    Aus diesem bild könnte man dann am Ende die STellen ohne LogoSchrift herausnehmen und in die Einzelbilder einfügen und hätte somit die LogoSchrift weg. Wobei man dann auch wieder akurat positionieren und zoomen können müßte. (und das i-tüpfelchen wäre dann wohl ein filder der das kann).

    :esel: Verlang ich zu viel, oder bin ich einfach nur zu blöd? :ichdoof:

  • Überlagern von zwei Videos, wobei Du für das überlagernde eine Maske erstellst, wo das Bild 100% Transparenz hat, habe ich mal hier gemacht.

    Edit: Vielleicht kannst Du mal ein kurzes Sample hier reinstellen.

    mawi2006

    Intel Q9550@2500 MHz / Motherboard Name Asus P5N-VM WS / Grafikkarte NVIDIA Quattro FX470 / 4x2 GB 800 MHz / DVD-RAM DVR-216DBK / LiteOn IHas 322 / HDD: 500 GB HD502HJ / SSD: Solidata K5 64GB

  • Ein Sample?
    Gut. Ich hab jetzt mal einen Teil der Sequenz (ohne überblenden nur kamerafahrt und Schrift) rausgepickt. Mit Hauptaugenmerk auf die "gelben Hauptdarsteller" kann man erkennen, das es auch "reine" bilder gibt wo man nur das Gemälde ohne Darsteller sieht. Es müßte doch möglich sein, automatisiert, durch ausschneiden, zoomen, rüberlegen die Schrift weg zu bekommen. Man hat ja eigentich die Ausgangsform.


  • Daher legte ich das von spuds erstellte Script "rm_logo" zu Grunde, welches ebenfalls auf der "AVSInpaint.dll" basiert.


    Habe das Script von spuds angetestet: bei pixelgenauer Maskenerstellung kommt man zu sehr guten Ergebnissen. Nachteil: die Konvertierungsdauer verfünffacht sich im Vergleich zu Delogo. Mit MeGUI ist die 4-Kern-CPU nur zu ca. 25 % ausgelastet.

  • Der Delogo-Filter von MSU behauptet, genau dieses zu erreichen: entfernen des Logos durch verwenden von "guten" Bildanteilen in Nachbarframes, mittels Bewegungskompensation.

    Ich für meinen Teil orakle mal: Das wird nix. Nicht mit dem MSU Filter, und auch nicht mit selbstgebastelten Avisynth-Scripten. Die Problemstellung ist im Detail viel, sehr viel schwieriger, als ihr euch das auf den ersten Blick so vorstellt ...

    Wer's durchaus mit Avisynth probieren will:

    - "Weiß" & "Gelb" im Original maskieren lassen, und um 2~3 Pixel expandieren (schwarzer Rand der gelben Buchstaben)
    - eine gute Anzahl von Depan-Data-Clips mit Offset (z.B.) 10/20/30 Frames erstellen.
    - entsprechende Depan-Clips erstellen von a) Input-Clip und b) Masken-Clip.
    - Hineinkopieren des ersten Depan-Clips in die Region Maske[Original] AND NOT(Maske[Depan]) .
    - Reduzierung der Maske[Original] mit Maske[Depan].
    - Die letzten zwei Schritte für alle erstellten Depan-Offsets wiederholen.

    Das wäre ein einfaches Grundgerüst. Ich wünsche viel Spaß beim Basteln. :)


    Inpainting ist hier ~vermutlich~ das Mittel der Wahl, um mit vertretbarem Aufwand zu einem vertretbaren Ergebnis zu kommen.

  • Didée

    MIt dem MSU hab ich auch schon ein wenig herumexperimentiert und es garnicht hinbekommen. Hatte da nur rot in der Vorschau, wo das Logo weg sollte. Hörte sich aber theoretisch wirklich sehr einfach und plausibel an. Aber tricksen kann man ja immer wenn man ein produkt anpreist.


    Also die Sache mit dem Imagereader hab ich inzwischen hinbekommen. Sieht dann ungefähr so aus:

    ImageReader("D:\BastelLord\Imagesequenz\Ü\Überblende\Test\0.bmp", 0, 10, 25, false) + ImageReader("D:\BastelLord\Imagesequenz\Ü\Überblende\Test\1.bmp", 0, 9, 25, false)

    Damit bekomm ich zumindest einen Clip mit 19 Bildern hin, wo aber nach den ersten zehn des ersten Bildes, neun des zweiten bildes folgen. Sowas nenne ich KEINE Überblendung. Und mit FadeIn startet man eh mit nem schwarzen bild. Ich möchte aber eine Überblendung aus 19 Bildern hinbekommen die mit dem ersten Bild startet und mit dem letzten Bild endet, nett wäre zusätzlich das das zweite Bild etwas kleiner und nach rechts versetzt aus dem Hintergrund erscheint und letztendlich mit voller größe den ganzen Bildausschnitt einnimmt. Aber scheinbar gibts dafür kein Avisynth PlugIn zu geben.
    Ich muß allerdings dazusagen, das ich einen einfachen CrossFade mit der Transitionsmenü-Funktion von DVDLabPro hinbekommen habe, aber eben ohne "VerschiebeZoomIn".

    Jemand nen Vorschlag?

    :esel: Verlang ich zu viel, oder bin ich einfach nur zu blöd? :ichdoof:

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!