You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Cigarette/CigaretteSingle/WorkThread/workthread.cpp

58 lines
892 B
C++

#include "workthread.h"
#include "common.h"
WorkThread::~WorkThread()
{
stop();
p_image_queue->put(cv::Mat());
quit();
wait();
}
void WorkThread::init()
{
b_quit = false;
}
void WorkThread::start_work()
{
start(HighestPriority);
}
void WorkThread::stop()
{
b_quit = true;
}
void WorkThread::run()
{
uint32_t result_index = 0;
while (!b_quit) {
std::pair<int, cv::Mat> element;
cv::Mat image;
p_image_queue->take(image);
if (!image.data)
{
continue;
}
if (0)
{
if (image.data)
{
QDateTime now_ts = QDateTime::currentDateTime();
QString file_name = "EmpiricalData/" +
now_ts.toString("yyyy-MM-dd") +
now_ts.toString("HH-mm-ss_zzz_") + ".jpg";
p_save_queue->put(std::make_pair(file_name.toStdString(), image));
}
}
cv::Mat output_image;
m_alg_ptr->process_2dfft(image,output_image);
emit display_image(image);
}
}