код:
private:
cv::VideoCapture *capture;
cv::Mat frame;
int k;
System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
pictureBox1->Image = nullptr;
if( capture->isOpened() )
capture->release();
if(!capture->open(0))
{
MessageBox::Show("Cannot open WebCam");
return;
}
int fps = (int)capture->get(CV_CAP_PROP_FPS);
if(fps == 0)
fps = 24;
timer1->Interval = 1000/fps;
timer1->Start();
}
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e)
{
cv::Mat frame;
capture->read(frame);
if(frame.empty())
{
this->pictureBox1->Image = nullptr;
return;
}
this->pictureBox1->Image = gcnew Bitmap(frame.cols, frame.rows, frame.step, PixelFormat::Format24bppRgb, IntPtr(frame.data));
frame.release();
}