#pragma once #include #include #include "ui_QtWidgetsApplication.h" #include #include #include #include #include #include "M_camera.h" #include "TCT.h" #include #include #include #include #include "haikang.h" #include "Mycontrol.h" class QtWidgetsApplication : public QMainWindow { Q_OBJECT public: QtWidgetsApplication(QWidget *parent = nullptr); ~QtWidgetsApplication(); int resetExposure(); // filr自动曝光 int configureExposure(double exposure); //设置曝光 void setSlideSpinboxCheckboxSync(); //让曝光,增益的Slide和Spinbox同步 void HK_resetGain(); // HK设置增益 void HK_resetExposure(); // HK自动曝光 void HK_configureExposure(double exposure); void HK_configureGain(double exposure); //HK调节增益 int configureGain(double gain); //设置增益 int resetGain(); //自动增益 QPixmap tct_pixmap; QGraphicsPixmapItem* tct_pixmapItem; QGraphicsScene* tct_scene; //TCT检测显示需要的 TCT* my_TCT; //创建模型处理的指针 QThread* m_infQthread; //模型处理的线程 QImage in_image; //经onnx模型检测后传回来的图片 QImage hikimage; //海康需要传入TCT时用 public slots: void do_img_redy(ImagePtr pResultImage); //显示flir相机传回来的图像 void on_btnSingleImageSave_clicked(); //保存单张图片 void on_btnSaveDir_clicked(); //选择存储路径 void input_img(QImage image); //接收经过网络后的图片 void on_pb_model_clicked(); //TCT自动检测按钮 void do_hai_img_redy(MV_FRAME_OUT stImageInfo, void* handle); //将海康相机传回来的图片进行显示 //SB处理办法 弃用 void on_pb_camera_clicked(); //选择相机 void on_btnUp_clicked(); //Z向上 void on_btnDown_clicked(); //Z向下 void on_btnLeft_clicked(); //X向左 void on_btnRight_clicked(); //X向右 void on_btnForward_clicked(); //Y向前 void on_btnBackward_clicked(); //Y向后 void hai_img_redy(QImage image, void* handle); //将海康相机传回来的图片进行显示 signals: void emit_img(QImage image); //将需要传入网络的图片传出去 private: Ui::QtWidgetsApplicationClass ui; HWND m_hwndDisplay; //显示控件的句柄 QPixmap pixmap; QGraphicsPixmapItem* pixmapItem; QGraphicsScene* m_scene; //相机显示 void* HK_handle = NULL; //海康相机的句柄 ImageProcessor processor; ImagePtr pResultImage; QThread* cam_thread; // 相机的线程 M_camera* cam_worker; // filr相机 haikang* Hacm_worker; // haikang相机 }; // 计算图像清晰度 double sharpnessSobel(cv::Mat image);