を使用してWindowsフォームに画像を正常に表示しようとしimwrite
ましたが、ディスクが損傷するため、これを行うためのより良い方法が必要です。
以下は、画像を一時的にハードドライブに書き込む現在のコードです。
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;
}
}
メモリ内にあるOpenCVを使用しようとするMat
と、動作しません。次のコードスニペットは、私がこれまでに試したものです。
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
。どうすればこれを達成できますか?