#include fbBridge bridge; //INIT backEnd::backEnd(QObject* parent) { Init(); } void backEnd::Init() { // for (auto data : json.LightSources.LightSourceList) { //QSerialPort* serialPort = new QSerialPort;//光源串口 ////serialPort->clear(); //serialPort->close(); //serialPort->setPortName(data.comPort); //serialPort->open(QIODevice::ReadWrite); //serialPort->setBaudRate(data.baudRate); //serialPort->setDataBits(QSerialPort::Data8); //serialPort->setParity(QSerialPort::NoParity); //serialPort->setStopBits(QSerialPort::OneStop); //serialPort->setFlowControl(QSerialPort::NoFlowControl); //serialPort->write(data.initStr.toUtf8()); //serialPort->waitForBytesWritten(); //if (serialPort->isOpen() != true) // qDebug() << data.comPort << "open failure!!"; //QSerialPorts.append(serialPort); //QSerialPortsName.append(data.name); } } //WIDGET void frontEnd::showImg(QString name, cv::Mat mtx, int showindex) { try { if (!mtx.empty()) { cv::Mat rgb; QImage* itemImage = nullptr; if (mtx.type() == CV_8UC1) { mtx.copyTo(rgb); itemImage = new QImage(QSize(rgb.cols, rgb.rows), QImage::Format_Grayscale8); QImage qim((const unsigned char*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_Grayscale8); *itemImage = qim.copy(); } else if (mtx.type() == CV_16U) // 双通道转单通道显示 { cv::normalize(mtx, mtx, 0, 255, cv::NORM_MINMAX); cv::convertScaleAbs(mtx, rgb); itemImage = new QImage(QSize(rgb.cols, rgb.rows), QImage::Format_Grayscale8); QImage qim((const unsigned char*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_Grayscale8); *itemImage = qim.copy(); } else if (mtx.type() == CV_8UC3) { cv::cvtColor(mtx, rgb, cv::COLOR_BGR2RGB); itemImage = new QImage(QSize(rgb.cols, rgb.rows), QImage::Format_RGB888); QImage qim((const unsigned char*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_RGB888); *itemImage = qim.copy(); } else if (mtx.type() == CV_8UC4) { cv::cvtColor(mtx, rgb, cv::COLOR_BGRA2RGBA); itemImage = new QImage(QSize(rgb.cols, rgb.rows), QImage::Format_ARGB32); QImage qim((const unsigned char*)rgb.data, rgb.cols, rgb.rows, rgb.step, QImage::Format_ARGB32); *itemImage = qim.copy(); } emit showImgSingal(name, itemImage, showindex); } } catch (QString ev) { qCritical() << "[Error] " << " ev:" << ev; //return false; } //return true; } //FINS //bool backEnd::sendFinsMsg(QString cmdx) //{ // if (!finstcp_ptr->reciveData(vec_mat, cmdx.toUtf8())) // { // qCritical() << "[TCP Error] " << QString::fromUtf8("Fins数据发送失败!") << cmdx; // return false; // } // return true; //} //bool backEnd::sendFinsMsg(const char* cmdx) //{ // QString str = cmdx; // if (!finstcp_ptr->reciveData(vec_mat, str.toUtf8())) // { // qCritical() << "[TCP Error] " << QString::fromUtf8("Fins数据发送失败!") << cmdx; // return false; // } // return true; //} //bool backEnd::sendFinsMsg(QByteArray write_byte) //{ // if (!finstcp_ptr->reciveData(vec_mat, write_byte)) // { // qCritical() << "[TCP Error] " << QString::fromUtf8("Fins数据发送失败!") << write_byte; // return false; // } // return true; //} //bool backEnd::reciveFinsMsg(QByteArray &readByte) //{ // if (!finstcp_ptr->sendData(vec_mat, readByte)) // { // qCritical() << "[TCP] " << " finstcp_ptr sendData error!"; // return false; // } // return true; //} //// //QSerialPort* backEnd::getSerialPort(QString Name) //{ // for (int i = 0; i < QSerialPortsName.size();i++) // { // if (QSerialPortsName[i] == Name) // { // return QSerialPorts[i]; // } // // } // return NULL; //}