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

VB.NET Discussion :

Traitement image exécuté en parallèle


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2014
    Messages : 16
    Points : 8
    Points
    8
    Par défaut Traitement image exécuté en parallèle
    bonjour,

    j'utilise vb express 2008.

    voila ce que je cherche a faire :

    depuis une base de données d'image pre traitées, je cherche a copier les pixels ayant certaines valeurs (HSL) des images sources sur une image cible de grande dimension (20000*20000 pixels). ce que je cherche a faire est de decouper en rectangle l'image cible en fonction du nombre de processeurs (8) et d'executer en parallèle la copie des pixels des images sources sur chacun des rectangles. (il ne s'agit pas de faire 8 fois le meme rectangle puisque pour chaque rectancle, les images sources sont choisies aleatoirement donc chaque rectancle est different).

    Autant je suis arrivé a traiter en parallèle le traitement des images sources, autant je n'y arrive pas en copiant le resultat sur une image cible sachant que je ne souhaite copier QUE les pixels repondant a certaines caracteristique et non l'ensemble de l'image.

    Etant donné le nombre de données (la base image source contient des milliers de photos....), seul un traitement en parallele est envisageable.

    je peux donner le code que j'utilise ( ce n'est évidemment pas le mien) et votre aide ou piste seraient les bienvenues.

    L.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pas compris le problème
    si tu as 8 images "finales", il suffit de dessiner dessus à partir de tes images sources et ensuite de les réunir en une seule
    sur quelle partie tu bloques ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Expert confirmé Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Points : 5 485
    Points
    5 485
    Par défaut
    C'est aussi simple que :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    Parallel.For(0, Height - 1, row => Copy(row, sourceImage, targetImage));

    Note qu'aucune synchronisation n'est nécessaire au sein de Copy. Il y aura bien un peu de false sharing aux jointures mais c'est sans conséquence sur la cohérence (sans conséquence sur le résultat) et cela n'affecte que négligemment les performances.

Discussions similaires

  1. [ETUDES] Traitement images ou intelligence artificielle ?
    Par green_castor dans le forum Etudes
    Réponses: 9
    Dernier message: 29/11/2005, 13h01
  2. traitement image
    Par Feanorin dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 20/06/2005, 17h01
  3. Réponses: 5
    Dernier message: 25/12/2004, 23h17
  4. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 09h44

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