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

Visual C++ Discussion :

vc++ & matrice & image


Sujet :

Visual C++

  1. #121
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    CImage, c'est du GDI+ ?

    Je ne connais pas GDI+, je ne connais que GDI, qui est un ensemble de fonctions et non de classes. SetDIBits est une fonction de GDI qui peut marcher dans les deux sens, mais elle peut �tre un peu difficile � utiliser.

    Moi, je serais plut�t du genre � utiliser des valeurs sures de GDI, qui sont les fonctions de dessin:
    • LoadImage() ou tout autre moyen de charger le bitmap d'origine, quelle que soit sa profondeur de couleur.
    • CreateDIBSection() pour cr�er le bitmap 32 bits (et au besoin, arrondir les dimensions � 8 sup�rieurs)
    • GetDC() pour obtenir un DC vers l'�cran
    • CreateCompatibleDC() *2 pour cr�er un DC pour chaque bitmap
    • ReleaseDC() pour lib�rer le DC �cran.
    • SelectObject() *2 pour s�lectionner chaque bitmap dans chaque DC
    • BitBlt() pour copier l'image d'un DC � l'autre
    • SelectObject() *2 pour remettre les anciens bitmaps dans leurs DC respectifs
    • DeleteDC() *2 pour d�truire les DC.

    Bien s�r, c'est beaucoup plus long et plus lourd que d'utiliser SetDIBits(), mais c'est une chose que je peux faire par coeur sans regarder la doc.

    Pour toi qui ne connais ni l'une ni l'autre de ces m�thodes, je te conseille SetDIBits(), ou bien les fonctions de GDI+ (pour lesquelles je ne pourrai pas t'aider).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  2. #122
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    euhhhh
    en CImage il ya les fonction:
    GetWidth() const // Ram�ne la largeur du bitmap
    GetHeight() const // Ram�ne la hauteur du bitmap
    GetBPP() const //Ram�ne le nombre de bits/pixel du bitmap
    SetType(int nType) // Affecte le type d'image utilis�
    GetPixel(int x, int y, LPBITMAPINFOHEADER BmInfo, int nColors, int nScanWidth, BYTE* lpBits) const
    // Retrouve la valeur d'un pixel qq soit le nombre de bits/pixels
    // Il faut fournir le pointeur de d�but du bitmap
    .
    .
    .

    et beaucoup plus d'autres

    pour ta fonctionn setdibt() franchement c la 1ere fois que j'entende ce mot
    je sais cmt elle fonctionne et comment je puisse la utiliser

  3. #123
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Je cviens de jeter un coup d'oeil � CImage: C'est une classe ATL/MFC bas�e sur GDI+.

    Si tu utilises d�j� une CImage pour le bitmap d'entr�e, tu peux juste utiliser deux CImage de formats diff�rents et utiliser CImage::BitBlt() pour copier les donn�es du bitmap ?-bits vers le bitmap 32-bits.
    Et la fonction membre GetBits() te donnera un pointeur vers ses Bitmap Bits...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #124
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    ok merci
    si tu n'as pas la biblioth�que CImage , je px t'envoyer le doc
    desol� pour le d�rangement

  5. #125
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    C'est bon.
    J'ai VS 2005 pro, je dois donc avoir CImage, et j'ai trouv� l'aide sur MSDN (tu devrais y chercher plus souvent).
    http://msdn.microsoft.com/library
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #126
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    ok c bien

  7. #127
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    quand j'ai lu la documentation de ce classe , je trouve que les images 32bits non supportable ds ce classe
    citation:
    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
     
    Classe "CImage"
    Image.cpp - Image.h :
    Version 2.7
    Réalisée par Philippe MIGNARD
    Email : [email protected]
    CImage est une classe maintenant un DIB (image indépendante du périphérique utilisé) et toutes les fonctions nécessaires au travail sur ce DIB. Les possibilités de cette classe sont :
    •	Support des images 1, 4, 8 et 24 bits/pixel (toutes les fonctions supportent tous les types d’images, sauf sauvegarde sur disque selon le type d’image et le type de fichier de sauvegarde demandé), en couleur ou niveaux de gris pour les images 4 et 8 bits/pixel. Les filtres 24 bits ne sont applicables que sur des images en 24 bits.
    •	Affichage de l’image avec plein d’options disponibles (clip, stretch avec ratio ou non, transparent...) sur l’écran (fonctions rapides de Video For Windows ou GDI au choix) ou sur imprimante (fonctions GDI).
    •	Chargement et sauvegarde à partir du disque d’images de type BMP, DIB, BMP OS/2, RLE, PCX, TGA (Targa), GIF, JPEG*, TIFF*, PNG*.
    * Nécessitent l’utilisation de la librairie externe
    •	Chargement à partir d’une ressource (tout format).
    •	Copie de l’image dans le Presse-papiers et inversement.
    •	Miroir horizontal et vertical de l’image.
    •	Rotation de 90°, 180° ou 270°de l’image.
    •	Passage de l’image en négatif.
    •	Sélection d’un canal RVB.
    •	Ajustement du contraste et de la lumière.
    •	Correction des couleurs (linéairement), de la saturation, de la teinte et du facteur gamma.
    •	Dithering, selon la méthode Floyd-Steinberg en 2 passes pour la réduction de couleurs, mais peut passer de n’importe quel type d’image à n’importe quel autre.
    •	Initialisation facile, copie de classe à classe ou de Handle à classe...
    •	Compilation sélective selon les besoins du programmeur à l’aide de #define dans le stdafx.h du projet.

  8. #128
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    O� as-tu trouv� cela?
    Tu veux dire que tu n'utilises pas la CImage de ATL/MFC ?
    CImage est suppos�e �tre d�finie dans atlimage.h...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #129
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    bonjour
    mo j'ai t�t�charg� cette biblioth�que � partir de net, cette une librairie contient beaucoup def fonctions de traitement d'image d�ja pr�d�fini:
    Image Doc (Fran�ais).doc
    voila le doc
    si tu vx que jet'envoie la biblioth�que ok

  10. #130
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    ah j' ai j�t� un oil sur CImage ALT/MFC
    en fait c pas la meme chose
    moi j'utilise vc++6.0 et je telecharge cette bibliotheque � partir d ce site
    http://micromeg.free.fr/programmeur.html

  11. #131
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Eh bien l�, je ne peux plus vraiment t'aider...
    �a sort compl�tement de mon domaine.

    Dans ce cas, il te reste la fonction SetDIBits() que tu peux utiliser pour convertir un bitmap (ses couleurs et ces bitmapbits) en bitmap 32bits...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  12. #132
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    aaaah bon
    le pb c que je sias rien sur cette fonction setDIBits
    et le grand pb c que les images 32bits sont non support� ds c classe ( ce qui est annonv� ds le doc)

  13. #133
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    salut
    svp est ce quelqu'un a le code en vc++ de la transform�e de fourier discrete appliqu�e sur une matrice
    merci d'avance

  14. #134
    Membre �clair�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    342
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 342
    Par d�faut re
    Bonjour, je voudrais savoir ce que fait ton programme Matlab?
    est-ce qu'il prend traite de l'algorithme de Floyd et Steinberg ?
    Si oui cela m'interresse bcp car jen'arrive pas � l'impl�menter sous matlab.

  15. #135
    Membre �clair� Avatar de meera
    Inscrit en
    Mai 2006
    Messages
    294
    D�tails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 294
    Par d�faut
    bonjour
    non , mon programme ne traite pas ces algorithmes
    il traite seulement l'algorithme de la compression des images Jpeg et quelques op�rations sur les images ( comme binarisation, histogrammes, seuillage........)
    algorithme de tatouage spatiale

Discussions similaires

  1. [cat] Concat�nation de matrices d'images
    Par Mamadou1 dans le forum Images
    R�ponses: 1
    Dernier message: 20/10/2007, 20h29
  2. R�ponses: 43
    Dernier message: 14/06/2007, 17h56
  3. Transformer une matrice � une image
    Par stiko83 dans le forum C++
    R�ponses: 24
    Dernier message: 01/08/2006, 23h11

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