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++ Discussion :

Convertir image jpeg en niveau de gris


Sujet :

C++

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Convertir image jpeg en niveau de gris
    Bonjour, je réalise une application mobile pour un smartphone (windows mobile 6) qui va devoir lire des code-barres. J'utilise des boites de dialogues pour la réaliser

    Pour l'instant, j'ai réussi à coder la partie qui me permet d'utiliser la caméra du smartphone et de prendre une photo. j'ai utiliser l'API SHCAMERACAPTURE.
    J'ai aussi coder la partie qui stock et affiche l'image.

    J'aimerais convertir l'image en niveaux gris. Mon image a une résolution de 2Mégapixel . Votre aide serait la bienvenue, je suis perdu sur cette partie.


    voici une partie du code c++ de mon projet.
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    //Capture d'une image avec caméra du smartphone
    void CcameraDlg::OnBnClickedButton3()
    {
    // Capture de l'image
    SHCAMERACAPTURE shcc;
    ZeroMemory(&shcc,sizeof(SHCAMERACAPTURE));
    shcc.cbSize= sizeof(SHCAMERACAPTURE);
    shcc.hwndOwner= m_hWnd;
    shcc.pszInitialDir = TEXT("\\My Documents");
    shcc.pszDefaultFileName = TEXT("test.jpg");
    shcc.pszTitle = TEXT("Camera");
    shcc.VideoTypes = CAMERACAPTURE_VIDEOTYPE_ALL;
    // Résolution 2M (1600*960) 3M (2048*1232) 5M (2592*1552)
    // Resolution L (640*384) par defaut
    shcc.nResolutionWidth = IMG_WIDTH;
    shcc.nResolutionHeight = IMG_HEIGHT;
    shcc.nVideoTimeLimit = 1;
    shcc.Mode = CAMERACAPTURE_MODE_STILL;
    shcc.StillQuality = CAMERACAPTURE_STILLQUALITY_HIGH;
    HRESULT H=SHCameraCapture(&shcc);
     
    }
     
    //Affichage de l'image capturée en mode normal
    void CcameraDlg::OnBnClickedButton6()
    {
    CDC * pDC = GetDC();
    HBITMAP Hbitmap=SHLoadImageFile(_T("\\My Documents\\test.jpg"));
    if(Hbitmap)
    {
     
    CBitmap bitmap;
    bitmap.Attach(Hbitmap);
     
    BITMAP bmpInfo;
    bitmap.GetBitmap(&bmpInfo);
     
    CDC bitmapDC;
    bitmapDC.CreateCompatibleDC(pDC);
    bitmapDC.SelectObject(&bitmap);
    CRect RC;
    GetClientRect(&RC);
    pDC->StretchBlt(0, 0, RC.Width(), RC.Height(), &bitmapDC,
    0, 0, bmpInfo.bmWidth, bmpInfo.bmHeight, SRCCOPY);
    bitmapDC.DeleteDC();
    bitmap.DeleteObject();
    }
    }
     
     
     
    //Conversion et affichage l'image en niveau de gris
    void CcameraDlg::OnBnClickedButton1()
    {
     
    }

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 765
    Points : 2 705
    Points
    2 705

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2008
    Messages : 41
    Points : 47
    Points
    47
    Par défaut
    Je connait pas pour les smartphones, mais as-tu regardé openCV ? Parce qu'en 1/2 appels, c'est réglé !
    Si je me souvient bien, c'est une fonction du genre rgb2gray (à voir ici).

    Après, si tu n'as rien d'autre à faire sur ton image, c'est importer une librairie en plus, ... pas forçément pratique.

Discussions similaires

  1. Convertir une image couleur en niveau de gris
    Par mine87 dans le forum Flex
    Réponses: 1
    Dernier message: 29/12/2009, 13h20
  2. Convertir une image colorée en niveau de gris
    Par foufar2009 dans le forum C++Builder
    Réponses: 7
    Dernier message: 20/03/2009, 00h44
  3. methode de transformation d'une image colorée en niveau de gris
    Par foufar2009 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 18/03/2009, 12h57
  4. transformer une image RGB en niveau de gris
    Par tapouni dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 28/04/2008, 18h25
  5. Map et image signée en niveau de gris
    Par Vincnt14 dans le forum Images
    Réponses: 4
    Dernier message: 22/02/2007, 03h02

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