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

Simulink Discussion :

Median vidéo


Sujet :

Simulink

  1. #1
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut Median vidéo
    Bonjour,

    j'utilise la partie simulink de matlab, je fais une manipulation video et lorsque je fais la median de celle-ci, j'obtien le background. Exemple : j'ai une video de foot donc des joueurs sur un terrain de foot, et lorsque je fais la median, je constate sur la video en sortie que les joueurs commencent a disparraitre jusqu'a ne plus etre present(presque). Il ne me reste plus que le terrain. Comment expliquez vous cela???

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    c'est quoi ta ligne de code exactement et la version MATLAB que tu utilises?t'as un message d'erreur?
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  3. #3
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 220
    Points : 104
    Points
    104
    Par défaut
    non, je n'ai pas de message d'erreur, ca tourne tres bien, mais je ne comprends pas pq les joueurs de foot disparraissent, du moins techniquement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    % This function subtracts current background (currentBckd) to the channel we use 
    % (currentImage) and outputs a map containing values between 0 and 1, 1 indicating
    % a high probability that the pixel here is moving
     
    % Input parameters:   
    % currentRedImage    : wxh current red image 
    % currentGreenImage  : wxh current green image 
    % currentBlueImage   : wxh current blue image 
    % currentRedBckgd    : wxh current red background image
    % currentGreenBckgd  : wxh current green background image
    % currentBlueBckgd   : wxh current blue background image
     
    % Output parameters: 
    % foreGroundMap      : wxh foreground map with values in [0,1]
    function foreGroundMap = ...
        bckgdSubtract(currentRedImage,currentGreenImage,currentBlueImage,...
    		  currentRedBckgd,currentGreenBckgd,currentBlueBckgd);
     
    % Do the difference
    % TO BE FILLED
    currentRedImage=double(currentRedImage);
    currentRedBckgd=double(currentRedBckgd);
    currentGreenImage=double(currentGreenImage);
     
    currentGreenBckgd=double(currentGreenBckgd);
    currentBlueImage=double(currentBlueImage);
    currentBlueBckgd=double(currentBlueBckgd);
     
    R=currentRedImage-currentRedBckgd;
    G=currentGreenImage-currentGreenBckgd;
    B=currentBlueImage-currentBlueBckgd;
     
    difference=sqrt(R.^2+G.^2+B.^2);
     
    %R=cast((currentRedImage-currentRedBckgd).^2, 'double');
    %G=cast((currentGreenImage-currentGreenBckgd).^2, 'double');
    %B=cast((currentBlueImage-currentBlueBckgd).^2, 'double');
    %difference=sqrt(R+G+B);
    %A=max(vabs(R) + vabs(G) + vabs(B));
     
    % Outputs a probability map
    % TO BE FILLED
    foreGroundMap = 3 .* difference ./ (currentRedBckgd + currentGreenBckgd + currentBlueBckgd);
    % foreGroundMap = difference;

  4. #4
    Membre habitué Avatar de larimoise
    Inscrit en
    Octobre 2006
    Messages
    220
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 220
    Points : 197
    Points
    197
    Par défaut
    Salut,


    d'aprés le scripte en lisant tout à fait au début on lit en anglais que cette fonction permet de soustraire le fond de l'image, et dans ton image le fond (background) c'est le terrain de foot, donc le résultat que tu as obtenu est tout à fait logique.

    A+
    MATLAB Version 7.13.0.564 (R2011b)
    Microsoft Visual studio 2010
    LabView 2013 service pack1

Discussions similaires

  1. Masque vidéo
    Par pifou02 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/09/2003, 08h09
  2. extraire une portion audio d'une vidéo
    Par Brunoo dans le forum DirectX
    Réponses: 2
    Dernier message: 16/06/2003, 10h29
  3. Une déclaration pour la survie du jeu vidéo en France
    Par Freakazoid dans le forum DirectX
    Réponses: 1
    Dernier message: 30/10/2002, 14h31
  4. [Composants][Animation] Lire une vidéo compressée
    Par femtosa dans le forum Composants VCL
    Réponses: 6
    Dernier message: 03/09/2002, 08h03
  5. Vitesse de la mémoire vidéo
    Par Anonymous dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 06/06/2002, 20h20

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