farben eines videos austauschen



  • Hallo,
    ich arbeite an einem größeren Project, und habe vor ein paar Wochen durch Zufall eine Klasse gefunden, deren Methode es ermöglicht hat, einen speziellen Farbwert eines Videos mit einem anderen Farbwert auszutauschen.
    Leider habe ich Idiot kein Bockmark gesetzt - und jetzt finde ich das nun natürlich nicht mehr 😞

    Kennt jemand von euch diese Methode ?
    Oder weiss jemand eine Möglichkeit einen speziellen Farbwert eines Videos mit einem anderen Farbwert auszutauschen ?

    Grund: Ich habe eine graues Video mit einem roten "x",
    ich will die graue Farbe transparent machen,
    so dass man nur noch das sich bewegende rote "x" sieht.

    Wäre der Hammer wenn wir jemand weiter helfen könnte - Danke.



  • Bisschen mehr Informationen wären hilfreich, hm?
    Wo willst du das Video spielen, mit was für APIs, etc.



  • Ich benutze directshow
    das videofilter wird im windowless mode gestartet und abgespielt.
    irgendwo bei dem ganzen zeug war diese klasse zum austauschen von farben des videos mittels rgba angaben...

    also ich habe das was gefunden, was im prinzip genau das machen sollte, was ich brauche: http://msdn2.microsoft.com/en-us/library/ms778961.aspx

    Nur verstehe ich XTL nicht.

    If your video source does not have alpha, you can use an effect that creates alpha data. The Alpha Setter Effect sets the alpha channel for the entire image to a constant value. To vary the alpha over time, use the IPropertySetter interface with the Alpha Setter Effect. The original source does not have to be 32 bits, as long as the group's uncompressed media type is MEDIASUBTYPE_ARGB32.

    Finally, pass the video to an effect or transition that performs alpha blending. The Compositor Transition performs alpha blending, and the Key Transition can key by alpha value.

    Nur wie genau muss ich nun vor gehen ?


  • Mod

    wenn du die suchfunktion benutzt, solltest du alle antworten finden, denn wenn ich mich recht entsinne wurde das hier schon oefter gefragt.



  • Sehr witzig... das ist genau das was ich seit Tagen mache - finde aber nichts.
    Ich denke mal das man in einem Forum davon ausgehen kann, das die Leute erst suchen bevor sie posten. Und ich habe gesucht.

    Nachdem ich nichts gefunden habe, nur diesen Link, den ich vorhin bereits angeführt habe, steht nun hier mein Posting im Forum.

    Wenn ich was zum Thema gefunden hätte, würde ich nicht fragen...
    denn wie es aussieht hatte hier noch keiner damit zu tun...

    Ich benutze zur Darstellung folgendes:

    // Interfaces
    IGraphBuilder *pGraph;
    IMediaControl *pControl;
    IMediaEventEx *pEvent;
    IVideoWindow *pVideo;
    IMediaSeeking *g_pSeek;
    IBasicAudio *pAudio;

    // VMR 9
    IBaseFilter *pVmr;
    IVMRFilterConfig9 *pConfig;
    IVMRWindowlessControl9 *pWC;
    IVMRMixerControl9 *pMix;

    gestartet wird das Video dann mit pControl->Run();

    Leider habe ich absolut keine Ahnung wo ich nun mein alphablending einbauen muss.
    Schätzungsweise bei der initialisierung des ganzen Zeugs....
    Aber mit welcher Funktion bzw. welcher Methode habe ich leider nicht rausfinden können, daher würde ich mich sehr freuen, mehr infos zu bekommen ausser "such doch"


Anmelden zum Antworten