Bonjour,
Je cherche a savoir comment je peux transmettre en parametre une image de type Bitmap en C# vers une fonction ecrite en C++.
J'ai beau chercher je vois pas trop comment faire :s
Si quelqu'un a une piste je suis preneur.
merci d'avance.
Bonjour,
Je cherche a savoir comment je peux transmettre en parametre une image de type Bitmap en C# vers une fonction ecrite en C++.
J'ai beau chercher je vois pas trop comment faire :s
Si quelqu'un a une piste je suis preneur.
merci d'avance.
ben ça dépend, la fonction C++ accepte un bitmap sous quelle forme ? si c'est un handle HBITMAP, tu peux l'obtenir à partir de l'image avec la méthode GetHBitmap
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
En fait c'est bon j'ai trouver ma reponse.
mais je suis tombé sur un autre soucis.
Je tente maintenant de convertir un System.Drawing.Bitmap en IplImage , mon code fonctionne , mais mon image se retrouve retournée , elle n'est pas dans sa position initiale , et je ne comprend pourquoi , quelqu'un saurait-il pourquoi ?
de plus sur certaines images , les couleurs sont faussées :s
voici mon code :
merci d'avance
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 IplImage *MaClass::ConvertBmpToIplImage(System::Drawing::Bitmap ^ bmpImage) { System::IO::MemoryStream ^ stream = gcnew System::IO::MemoryStream(); bmpImage->Save(stream, System::Drawing::Imaging::ImageFormat::Bmp); stream->Position = 0; cli::array<unsigned char, 1>^data = gcnew cli::array<unsigned char, 1>(stream->Length); stream->Read(data, 0, stream->Length); IplImage *img = cvCreateImage(cvSize(bmpImage->Width, bmpImage->Height), IPL_DEPTH_8U, 3); for (int i = 0; i < stream->Length, i++) img->imageData[i] = data[i]; return img; }
C'est bon je viens de comprendre pourquoi ca me fait ca ...
En temps normal sur une grande majorité de libs l'origine d'une image est en haut a gauche.
Ici non , l'origine est en BAS a gauche , du coup il faut que je remette tout ca dans l'ordre.
Partager