IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Flux vid�o via un panel et superpos� une image


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2013
    Messages
    13
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Sant�

    Informations forums :
    Inscription : Octobre 2013
    Messages : 13
    Par d�faut Flux vid�o via un panel et superpos� une image
    J'utilise C++ Builder pour d�vellop� une application.

    Je r�cup�re un flux vid�o via usb (frame grabber 2253) et je l'affiche dans un panel.

    Maintenant j'aimerais affich� une image par dessus la vid�o et la probl�me.

    M�me et mettant le panel comme parent de mon image l'image est affich� "derri�re" le flux vid�o.


    Une id�e, un conseil?

    Merci d'avance

  2. #2
    Membre tr�s actif Avatar de Argol_Medusa
    Homme Profil pro
    Ing�nieur Radiofr�quences
    Inscrit en
    Ao�t 2005
    Messages
    208
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Radiofr�quences
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 208
    Par d�faut
    Personnellement apr�s avoir essayer plusieurs choses qui marchaient plus ou moins bien, j'ai carr�ment ajout� une TForm transparente dessus.

    D�finie la couleur transparente dans les options de ta form, colle un TImage sur ta form que tu ajustes � la taille de la video ( Form1->Width = Form1->Panel1->Width; Image1->Width = Form1->Width etc. ) et utilise une couleur unique pour faire la couleur de transparence ( couche alpha ), genre le violet pur.

    De cette mani�re tu peux avoir une d�coupe parfaite avec une image en BMP ( par exemple)

    J'ai utilis� cette technique sur 2 projets, une video .wmv lu sur un TPanel via le player C++ Builder classique + une image dessus pour couper les angles, et sur un second projet une video en provenance d'une webcam de drone avec image d'affichage de donn�es t�l�m�triques, et obtenu de bon r�sultats dans les 2 cas avec cette technique.

  3. #3
    Membre confirm�
    Inscrit en
    Ao�t 2010
    Messages
    123
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2010
    Messages : 123
    Par d�faut
    Bonne id�e Argol_Medusa.
    Juste un petit b�mol sur la d�coupe parfaite, car il n'y a pas d'anti aliasing, n'est ce pas ? (donc plut�t faire des carr�s).

    Peut �tre une chose � essayer : mettre un nouveau panel (avec comme parent le panel du flux video) et mettre l'image dans ce nouveau panel.
    Le Panel est un WinControl (~fen�tre et l'image un GraphicControl), donc �a peut �ventuellement fonctionner....

    Sinon si c'est possible, convertir le flux video en Bitmap... Ajouter des infos sur cette bitmap... puis l'afficher.
    J'ai d�j� utilis� cette technique avec une Webcam.

  4. #4
    Membre tr�s actif Avatar de Argol_Medusa
    Homme Profil pro
    Ing�nieur Radiofr�quences
    Inscrit en
    Ao�t 2005
    Messages
    208
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Radiofr�quences
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 208
    Par d�faut
    Je crois que j'avais d�j� essay� et �a n'avait pas march� avec 2 Tpanel, mais l'id�e �tait bonne ^^

    Et pour la solution de convertir la video en bmp oui �a marche, mais le probl�me c'est que c'est beaucoup plus lent, on ne b�n�ficie alors plus de l'acc�l�ration mat�riel.
    En fait quand on assign � la video un TPanel, �a ne passe m�me pas par les couches hautes, c'est directement la carte video qui g�re je pense.
    La preuve : sous windows XP le seul moyen de faire un screenshot d'une Tpanel en train de lire une video, c'est d'aller dans propri�t� -> �cran -> etc et de cliquer sur "d�sactiver l'acc�l�ration mat�riel", sinon on a un gros pav� noir � la place de la video lors du screenshot.

    Alors pour l'antialiasing, en fait le probl�me vient effectivement du fait que la transparence n'est pas g�r�e par le bitmap, tu as raison, donc perso j'ai "trich�" un peu et contourn� le probl�me en mettant une seconde form avec un certain % de transparence ( une bitmap aussi, mais sur une TForm l�g�rement transparente ).
    Je sais pas comment expliquer, mais �a permet d'ajouter la fameuse couche d'antialiasing autour je ne sais pas si je suis clair.

    Un exemple concret vaut mieux qu'un long discourt :



    La video au centre en provenance d'un moteur 3D ou d'une simple video WMV, et j'ai mis des icones derri�re pour montrer la couche transparente, on voit bien sur les cheveux et sur la fum�e.
    Mais on peut suivant l'application faire cela tout autour de la form principale afin d'obtenir un fondu progressif ( le fameux "anti-aliasing" dont tu parles ).
    �videment on peut ajouter une seconde form avec un % de transparence encore plus �lev� pour affiner si n�cessaire.

Discussions similaires

  1. ins�rer un petit formulaire sur le panel qui contient une image de fond
    Par amAtunisian dans le forum Interfaces Graphiques en Java
    R�ponses: 1
    Dernier message: 08/06/2012, 13h28
  2. Lire / Ecrire flux vid�o via r�seau local
    Par milanoran dans le forum C++
    R�ponses: 10
    Dernier message: 25/10/2010, 23h46
  3. R�cup�rer un flux vid�o sur une MIDlet
    Par barcelona dans le forum Java ME
    R�ponses: 1
    Dernier message: 11/10/2006, 20h02
  4. [FLASH] Lire une vid�o via Media player ?
    Par tomguiss dans le forum Flash
    R�ponses: 1
    Dernier message: 30/11/2005, 23h14
  5. [C#]visualiser le flux vid�o d'une cam�ra Axis
    Par nokta dans le forum Windows Forms
    R�ponses: 6
    Dernier message: 21/11/2005, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo