begin process at 2012 05 28 23:13:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Convertir image jpeg en niveaux de gris


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertir image jpeg en niveaux de gris

mardi 3 mai 2011 à 16:33:49 | Convertir image jpeg en niveaux de gris

nicop93

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. Votre aide serait la bienvenue, je suis perdu sur cette partie.

voici une partie du code c++ de mon projet.

//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()
{

}

mardi 3 mai 2011 à 19:12:47 | Re : Convertir image jpeg en niveaux de gris

nicop93

une précision, l'image jpeg a une résolution de 2MégaPixel.
mardi 3 mai 2011 à 22:04:09 | Re : Convertir image jpeg en niveaux de gris

CGSI3

Bonjour,
En passant sur le site, j'ai vu ta question.
(Je suis d'habitude en vb.net)
Je ne sais pas si tu peux le convertir .
Bonne soirée CGSI3
Code Visual Basic :
  Public Function MakeImageGrayscale() As Bitmap
      '  Auteur: Inconnu  But: Methode pour Convertir une image en niveau de gris 
      Dim cMatrix As New ColorMatrix(New Single()() _
          {New Single() {0.299, 0.299, 0.299, 0, 0}, _
          New Single() {0.587, 0.587, 0.587, 0, 0}, _
          New Single() {0.114, 0.114, 0.114, 0, 0}, _
          New Single() {0, 0, 0, 1, 0}, _
          New Single() {0, 0, 0, 0, 1}})

      Dim imageAttrib As New ImageAttributes
      imageAttrib.SetColorMatrix(cMatrix)
      MakeImageGrayscale = Bitmap.Clone
      Dim gr As Graphics = Graphics.FromImage(MakeImageGrayscale)      ' Apply the grayscale image attriBute
      gr.DrawImage(MakeImageGrayscale, New Rectangle(0, 0, MakeImageGrayscale.Width, MakeImageGrayscale.Height), 0, 0, MakeImageGrayscale.Width, MakeImageGrayscale.Height, GraphicsUnit.Pixel, imageAttrib)
      gr.Dispose()
   End Function
mercredi 4 mai 2011 à 13:05:46 | Re : Convertir image jpeg en niveaux de gris

nicop93

Je ne sais pas convertir du basic en c++. J'aimerais bien un autre avis


Cette discussion est classée dans : image, bitmap, shcc, shcameracapture, bitmapdc


Répondre à ce message

Sujets en rapport avec ce message

Comment récuperer la luminosité d'un pixel d'une image bitmap? [ par chmod777 ] Je cherche a recuperer la luminosité d'un pixel (n'importe lequel) d'une image bitmap, cela ne doit pas etre sorcier mais j'avoue que là, j'ai du mal: Conversion bitmap 8 bits -> 24 bits [ par lma ] Je suis à la recherche d'un programme permettant de convertir une image bitmap 8 bits en image bitmap 24 bitsQuelqu'un peut il m'aider ? need help_API - debutant. [ par JimyRyan ] j'ai cree un progamme qui affiche une image (stoquee dans un fichier .bmp), et une phrase (lu a partir d'un fichier TXT), j'ai deux problemes : une fo image bitmap et graphique ss visual c++ [ par pipic ] Slt tt le monde,G 2 petites questions:1) Comment insérer une image ss visual C++??G créeé ma ressource et je l'ai chargé à partir de la ft° LoadBitmap Déplacer Bitmap à la souris [ par GoldenEye ] Bonjour, Je souhaiterais afficher une (grande) image bmp dans une fenêtre de taille fixe. A chaque fois que l'utilisateur presse le bouton gauche, le Découper puis affichier un bitmap [ par Vortex99011 ] Bonjour,depuis quelques jours de recherches désespérées, je viens vous demander ici un grand secours. Je recherche une manière quelconque pour affiche Charger un BMP avec une OpenFileDialog et l'afficher dans un pictureBox . [ par Dragoon ] Bonjour à tous,Je ne suis pas un spécialiste du C++ et des MFC et je souhaiterais comprendre ce qui ne va pas dans mon programme.Je voudrais que celui dialogbox et bitmap [ par supergrey ] Bonjour, je fais actuellement un client IRC et je voudrais qu'un image s'affiche dans ma boite de dialogue principal lorsque la connexion est etablie. longueur et largeur d'une image BITMAP. [ par Adeon ] Salut!QQ peut il me dire la fonction en API qui donne la longueur et la largeur d'une image BITMAP. Adeon Petit Bugg [ par ToToL ] Tout d'abord voici mon code : #include int main() { install_allegro(SYSTEM_AUTODETECT, &errno, atexit);set_color_depth(16);set_gfx_mode(GFX_AUTODETECT


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales