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

Multimédia Java Discussion :

Détection de mouvement dans une image / Compression Décompression de BufferedImage


Sujet :

Multimédia Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut Détection de mouvement dans une image / Compression Décompression de BufferedImage
    Bonjour,
    je travaille sur une application de detection de mouvement dans une image, l'application consiste à envoyer des imprime ecran chaque x seconde vers un autre pc via le réseau ou internet. donc je dois pouvoir detecter le mouvement (modification entre deux images) pour la compresser et l'envoyer vers le destinataire en utilisant les socket java (TCP et aprés ça sera avec UDP) sans les enregistrer sur le disque dur.
    Pouvez vous, SVP me répondre à ces questions:
    -Quel est la bonne methode (algo, API java) utilisée pour faire la compression des BufferedImage?
    -j'arrive pas à compresser et à décompresser le BufferedImage, pouvez vous me dire comment faire?
    -Quelles sont les methodes ou algo de detection de mouvement dans une image?
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 899
    Billets dans le blog
    54
    Par défaut
    Je n'ai pas deplace le message vers le forum 2D car tu n'est pas assez specifique quand tu dis vouloir detecter les differrences/"mouvements" entre deux images.

    Est-ce qu'un algo/compression video de type MPEG/MPEG2/MPEG4 te suffirai (malgres les pertes d'information/de qualite que cela suppose) pour la gestion de tes images/trames.

    Ou est-ce que tu veux rester sur des images 2D pures et dures ?

    Si tu veux envoyer des images sur le reseau sans perte de qualite une bonne methode consiste a les enregister au format PNG via ImageIO dans un ByteArrayOutputStream (qui est un flux en memoire au lieu d'un fichier sur le disque), d'expedier le tableau d'octets a travers la socket et des le lire de l'autre cote toujours en utilisant ImageIO et un ByteArrayInputStream. Mais ca peut faire des transferts assez lourds tout de meme suivant la nature des images.

    Si tu vas vers la video, regarde plutot sur les manieres de faire du streaming avec le Java Media Framework ou d'autres APIs.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut
    Salut,
    En fait mon programme est une sorte de bureau distant(deux applications, exp:un enseignant exécute la 1ere application sur son PC et les étudiants visualisent ce que fait leur enseignant sur leur PC) : je fais des imprimes ecran et je les envoi vers l'utilisateur distant.Dans ce programme je dois trouver une solution de detection de mouvement dans deux images et envoyer seulement le mouvement et une solution de compression(sans perte ou avec perte) pour minimiser la bande passante, minimiser le calcul de microprocesseur et minimiser la memoire utilisée.
    pour la detection de mouvement entre deux images je fais une comparaison pixel par pixel ce qui est trop lourd, puis j'ai modifier mon algo de façon que je fais une comparaison de pixel tout les x(variable) pixels, s'ameliore les chose mais ça reste moins rapide. je me demande si vous connaissez d'autre methodes qui peuvent améliorer les choses, sachant que je ne utilise pas de video.
    et pour la compression vous connaissez pas des librairie ou API simples qui peuvent faire une compression JPEG ou GIF de BufferedImage ou Image.
    merci

  4. #4
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    JPEG et PNG (gif ne sert à rien) sont gérés par l'API java.

    Sinon, tu dois absolument programmer ça? Car ça existe déjà ce que tu veux programmer, ça s'appelle VNC

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut
    Citation Envoyé par ®om
    JPEG et PNG (gif ne sert à rien) sont gérés par l'API java.

    Sinon, tu dois absolument programmer ça? Car ça existe déjà ce que tu veux programmer, ça s'appelle VNC
    oui j'ai rencontré VNC, RDP, RFB dans mes recherches dans le net mais j'ai pas trouvé l'algorithme de la détéction de mouvement dans une image ou celui de la compression utilisée.
    ce que je cherche c'est les API les plus fiable, efficace et robustes pour faire la copression de BufferedImage sans les enregistrer sur le disque dur, tout se passe dans la mémoire RAM.
    Concernant la PNG je pense qu'il prend beaucoup d'espace mémoire plus que JPEG, donc c inutile de l'utiliser.
    Merci pour vous

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par jhon_milou
    Concernant la PNG je pense qu'il prend beaucoup d'espace mémoire plus que JPEG, donc c inutile de l'utiliser.
    Déjà le PNG est sans perte, le JPEG est avec perte, donc rien à voir.
    Après, vu leur technique de compression, le PNG est beaucoup plus efficace que le JPEG s'il y a des contours nets (typiquement une capture d'écran), par contre là où le JPEG est bon c'est quand c'est une image réelle (photo).

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut
    Citation Envoyé par ®om
    Déjà le PNG est sans perte, le JPEG est avec perte, donc rien à voir.
    Après, vu leur technique de compression, le PNG est beaucoup plus efficace que le JPEG s'il y a des contours nets (typiquement une capture d'écran), par contre là où le JPEG est bon c'est quand c'est une image réelle (photo).
    Merci pour le clairsissement, mais pour compresser une image (BufferedImage ou Image) en JPEG ou en PNG quelle est la Librairie ou API java la plus efficace et la plus robuste?
    merci

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 18
    Par défaut
    Bonjour,
    je me demande si je peux remplacer une partie de mon ImageIcone (ou Image) A par une partie d'autre ImageIcone (ou Image) B.
    je veux dire par partie, un rectangle de pixels
    je pense que je suis obligé de passer par BufferedImage non? si oui merci de me dire comment ça se fait. je suis bloqué là.
    merci

Discussions similaires

  1. Détection de cercles dans une image
    Par abs2008 dans le forum Images
    Réponses: 6
    Dernier message: 29/05/2008, 13h47
  2. Détection de mouvement dans une sequence d'image
    Par soforan dans le forum Images
    Réponses: 3
    Dernier message: 25/01/2008, 17h58
  3. Détection des plans dans une image 3D
    Par paradize3 dans le forum Traitement d'images
    Réponses: 13
    Dernier message: 02/10/2007, 09h43
  4. Détection de visages dans une image en niveaux de gris
    Par bert_ dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 04/04/2007, 18h04
  5. [D6] Algo de détection de zones dans une image
    Par DMO dans le forum Langage
    Réponses: 4
    Dernier message: 25/11/2005, 15h15

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