#pragma once #include "NodeData.hpp" #include "FlowScene.hpp" #include "FlowView.hpp" #include #include #include #include #include #include "ImageShowModel.hpp" #include "ImageLoaderModel.hpp" #include "DrawShapeView.hpp" #include "halcon/HalconNodes.hpp" #include "calculator/MathNodes.hpp" //#include "opcv/CvImageLoaderModel.h" //#include "opcv/CvImageShowModel.h" #include "opcv/MoudleOpencvNodes.h" using QtNodes::DataModelRegistry; using QtNodes::FlowScene; using QtNodes::FlowView; class VisionFlowWidget :public QWidget { public: VisionFlowWidget(QWidget* parent = Q_NULLPTR); virtual ~VisionFlowWidget(); private: QVBoxLayout* main_layout; QHBoxLayout* header_layout; QPushButton* btn_load_scheme; QPushButton* btn_save_scheme; QPushButton* btn_clear_scene; QPushButton* btn_test; FlowScene* m_scene; FlowView* m_view; //DrawShapeView* m_draw_shape_view; private: void setConnection(); }; static std::shared_ptr registerDataModels() { QString numberNodeType = QStringLiteral("数学操作"); QString halconImageNodeType = QStringLiteral("Halcon图像操作"); QString getHalconImageNodeType = QStringLiteral("获取Halcon图像"); QString dlNodeType = QStringLiteral("深度学习"); QString matchNodeType = QStringLiteral("模板匹配"); QString getOpencvImageNodeType = QStringLiteral("00.获取OpenCV图像"); QString opencvImageNodeType = QStringLiteral("01.OpenCV图像操作"); auto ret = std::make_shared(); //opencv图像获取 ret->registerModel(getOpencvImageNodeType); //opencv图像操作 ret->registerModel(opencvImageNodeType); ret->registerModel(opencvImageNodeType); ret->registerModel(opencvImageNodeType); //数学节点 ret->registerModel(numberNodeType); ret->registerModel(numberNodeType); ret->registerModel(numberNodeType); ret->registerModel(numberNodeType); ret->registerModel(numberNodeType); ret->registerModel(numberNodeType); //图像获取 ret->registerModel(getHalconImageNodeType); //ret->registerModel(getHalconImageNodeType); //图像操作 ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); //ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); ret->registerModel(halconImageNodeType); return ret; }