affichage de cv::Mat (opencv 2.4.3) dans pictureBox (Visual C++ 2010)
J'ai besoin de lire une image dans le Tapis formulaire à l'aide de openFileDialog et l'afficher dans une pictureBox (dans Visual C++/Visual Studio 2010).
J'ai beaucoup cherché mais je ne pouvais pas trouver la réponse.
Je suis en utilisant ce code:
openFileDialog1->Filter = "JPEG files (*.jpg)|*.jpg|Bitmap files (*.bmp)|*.bmp";
if(openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
Mat img;
img = imread(openFileDialog1->FileName, CV_LOAD_IMAGE_COLOR);
pictureBox1->Image = (gcnew Bitmap(img.size().width,
img.size().height,
img.widthStep,
Imaging::PixelFormat::Format24bppRgb,
(IntPtr)img.data));
}
OriginalL'auteur Todd Anderson | 2013-05-03
Vous devez vous connecter pour publier un commentaire.
Cette question a déjà été répondu ici:
Pour votre condition, vous pouvez le faire comme ceci:
Vérifier ce post qui a beaucoup de réponses décrivant comment convertir
System::String
àstd::string
.Merci. Cela a été très utile.
Si je change mon image à niveaux de gris avec ce code: cvtColor( src, src_gray, CV_BGR2GRAY ); cette fonction montre 3 images à côté les uns des autres. Comment dois-je changer le code pour afficher la bonne Image en niveaux de Gris dans pictureBox?
OriginalL'auteur sgarizvi
Vous devez définir l'objet Picturebox Palette comme ceci:
OriginalL'auteur Felix