Как отобразить cv :: Mat в приложении Windows Form?

Я пытался использоватьimwrite чтобы успешно отобразить изображение в форме Windows, но это повредит диск, поэтому мне нужен лучший способ сделать это.

Ниже мой текущий код, который временно записывает образ на жесткий диск:

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {

        namedWindow("video",0);
        VideoCapture cap(0);
        flag = true;
        while(flag){
            Mat frame;
            cap >> frame; // get a new frame from camera
            **imwrite("vdo.jpg",frame);**
            this->panel1->BackgroundImage = System::Drawing::Image::FromFile("vdo.jpg");

            waitKey(5);
            delete panel1->BackgroundImage;
            this->panel1->BackgroundImage = nullptr;

        }
    }

Когда я пытаюсь использовать OpenCVMat это в памяти, я не могу заставить его работать. Следующие фрагменты кода - это то, что я пробовал до сих пор:

this->panel1->BackgroundImage = System::Drawing::Bitmap(frame);

или же

this->panel1->BackgroundImage = gcnew System::Drawing::Bitmap( frame.widht,frame.height,System::Drawing::Imaging::PixelFormat::Undefined, ( System::IntPtr ) frame.imageData);

Я хочу показатьframe в этом коде без использованияimwrite, Как мне это сделать?