IEK/Src/Task/OpenCVVideo.cpp

64 lines
1.0 KiB
C++
Raw Normal View History

2022-05-06 07:34:00 +00:00
#include "OpenCVVideo.h"
#include <QDebug>
#include <windows.h>
#include <QElapsedTimer>
static cv::VideoCapture cap2;
static cv::Mat MatCamear;
OpenCV_PV_Thread::OpenCV_PV_Thread()
{
}
OpenCV_PV_Thread::~OpenCV_PV_Thread()
{
isClose = true;
this->quit();
this->wait();
}
bool OpenCV_PV_Thread::Open()
{
mux.lock();
bool isOpen = cap2.open(0);
mux.unlock();
if(!isOpen)
{
return false;
}
isCamear = true;
return true;
}
void OpenCV_PV_Thread::run()
{
while(1)
{
mux.lock();
if(isClose)
{
mux.unlock();
break;
}
if(!isCamear)
{
mux.unlock();
continue;
}
if(isCamear && cap2.isOpened())
{
bool isRead = cap2.read(MatCamear);
if(isRead)
emit ShowCamera(MatCamear);
}
else
{
Sleep(30);
}
mux.unlock();
}
}