Tod*_*son 5 opencv visual-studio-2010 visual-c++
我需要使用 openFileDialog 以 Mat 形式读取图像并将其显示在图片框中(在 Visual C++/Visual Studio 2010 中)。
我搜索了很多,但找不到答案。
我正在使用此代码:
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));
}
Run Code Online (Sandbox Code Playgroud)
这个问题已经在这里得到回答:
根据您的要求,您可以这样做:
Mat img;
img = imread(openFileDialog1->FileName, CV_LOAD_IMAGE_COLOR);
System::Drawing::Graphics^ graphics = pictureBox1->CreateGraphics();
System::IntPtr ptr(img.ptr());
System::Drawing::Bitmap^ b = gcnew System::Drawing::Bitmap(img.cols,img.rows,img.step,System::Drawing::Imaging::PixelFormat::Format24bppRgb,ptr);
System::Drawing::RectangleF rect(0,0,pictureBox1->Width,pictureBox1->Height);
graphics->DrawImage(b,rect);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14272 次 |
最近记录: |