123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- #ifndef WIDGET_H
- #define WIDGET_H
- #include <QWidget>
- #include <QDir>
- #include <QLabel>
- #include <QDesktopServices>
- #include <QUrl>
- #include <QDebug>
- #include <QListView>
- #include <QThread>
- #include <QFileDialog>
- #include <QDateTime>
- #include <QSharedPointer>
- #include <process.h>
- #include "excelapi.h"
- #include "PrintAPI.h"
- #include "client.h"
- #include "WorkThread.h"
- #include "mainshowwidget.h"
- #include "FeatureMatching.h"
- #include <vector>
- #include "log.h"
- #include "cvxcamera.h"
- #include <camerapar.h>
- #include <filewatcher.h>
- namespace cv
- {
- class Mat;
- }
- QT_BEGIN_NAMESPACE
- namespace Ui { class Widget; }
- QT_END_NAMESPACE
- class Widget : public QWidget
- {
- Q_OBJECT
- public:
- Widget(QWidget *parent = nullptr);
- ~Widget();
- void ExportExcel();
- virtual void resizeEvent(QResizeEvent *event);
- public slots:
- void informationDisplay(QString str,int logType = 1); //0 debug,1 info , 2 warn , 3 error
-
- void on_LABLE_ShowSmallPicRef_clicked();
- void on_LABLE_ShowSmallPicDet_clicked();
- void receiveParseResult(std::multimap<int, QRect> errorsRect);
- void movepointSlot(QPointF point);
- void enlargeImg();
- void clearImg();
- void createDealedImage(int s = 0);
- void showqImage(QImage image, QLabel* gui);
- void showqImageSource(QImage image, int refOrDet = 0); //1,参考图,2检测图
- void on_comboBox_activated(int index);
- void on_BTN_OpenImageDet_clicked();
- void on_BTN_OpenImageRef_clicked();
- void on_BTN_AlgDetect_clicked(); //算法检测
- void on_BTN_Preprocess_clicked();
- void on_BTN_TakePhotoRef_clicked();
- void on_BTN_SaveImage_clicked();
- void on_BTN_ConfigCamera_clicked();
- void on_BTN_Close_clicked();
- void on_BTN_Min_clicked();
- void on_BTN_Max_clicked();
- void on_RBT_CameraMode_clicked(bool checked);
- void on_RBT_FileMode_clicked(bool checked);
-
- void on_RectAlgChangedDet(QRect r);
- void on_RectAlgChangedRef(QRect r);
- void slot_TWG_resulrInfo_Clicked(int, int);
- void slot_TWG_resulrInfo_SelectChanged(); //控制结果矩形部分局部图像实时显示在左侧主窗口
- void realTimeShowImage();
- void matchAndRunAlg();//异步后台线程进行处理
- void slot_changeShowMode();
- signals:
- void sig_infoDisplay(QString str, int logType = 1); //0 debug,1 info , 2 warn , 3 error
- void sig_algReady();//成功进行完整一次算法检测
- protected:
- virtual void closeEvent(QCloseEvent* event);
- virtual void wheelEvent(QWheelEvent* event);
- private:
- void clearRltInfo();
- void saveRltImage();
- void login();
- void PostImg();
- void bfMatch(const cv::Mat& image, const cv::Mat& image2, cv::Mat& imageOut);
- void calRoiAlgDetFromRef();
- void calstdev(float* A, int num, float& mean, float& stdev);
- void setDetPic(const cv::Mat& pix, const std::vector<uchar>& picRaw);//设置检测图不加ROI
- void setRefPic(const QImage& pix, const std::vector<uchar>& picRaw);//设置参考图不加ROI
- void setDetPic(const cv::Mat& img);//设置检测图增加ROI
- void setRefPic(const cv::Mat& img);//设置参考图增加ROI
- void setDetPicInner();
- void setDetPicInner(const cv::Mat& img);//增加ROI
- void initRoiAlgRef(QSharedPointer<QImage> pix);
- void changeCamOrFileMode(); //切换本地和相机模式
- Ui::Widget *ui;
- QStringList content;
- QLabel *label;
- QRect m_roiAlgRef; //用于算法处理的ROI
- QRect m_roiAlgDet; //用于算法处理的ROI
- cv::Mat m_homMat2d; //参考图到检测图变换矩阵
- FileWatcher m_watcher; //用于监控指定文件夹状态
- QSharedPointer<QImage> m_picShow;//指向当前主窗口显示的图像,主要是为了兼容结果图的检测图在右侧小窗口的显示
- QTimer* m_timer;
- };
- #endif
|