当前位置:网站首页>Halcon与Winform学习第二节
Halcon与Winform学习第二节
2022-07-03 15:08:00 【11eleven】
基于halconWindow设计流程自定义 视觉检测方案系统,先上效果图

主要提供 以下几大块的内容:
一、工具栏的支持
二、工具栏绘制流程集成方案可导入导出
三、工具流程节点的数据流动的输入输出
四、设备通讯
五、全局变量的使用
上图界面花了两个礼拜的时间进行实现,后续有时间的话,将一段段介绍。
方案配置贯穿整个业务
public class SchemeConfig {
public static SchemeInfo Scheme { set; get; }
public static HWindow_Final HWindowControl { set; get; }
}
public class SchemeInfo : BaseField, IEntity<long>
{
public SchemeInfo()
{
Id = GeneratePrimaryKeyIdHelper.GetPrimaryKeyId();
}
public long Id { get; set; }
/// <summary>
/// 方案编码
/// </summary>
public string Code { get; set; }
/// <summary>
/// 方案名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
public List<SchemeFlowInfoEntity> FlowList { set; get; }
public List<GlobalVariableModel> GlobalVariableList { set; get; }
/// <summary>
/// 设备配置
/// </summary>
public GlobalDeviceConfig GlobalDeviceConfig { set; get; }
}
public class GlobalDeviceConfig
{
public List<DeviceCommumicationClient> ClientList { set; get; } = new List<DeviceCommumicationClient>();
public List<CommumicationEventReceive> ReceiveList { set; get; } = new List<CommumicationEventReceive>();
public List<CommumicationEventSend> SendList { set; get; } = new List<CommumicationEventSend>();
}
/// <summary>
/// 图像源
/// </summary>
public class ImageSourceContentModel: SchemeFlowNodeEntity
{
public override void InitData() {
NodeResultModels = new List<NodeResultModel>();
NodeResultModels.Add(new NodeResultModel() { NodeResultCode = NodeResultTypeEnum.ImageWidth.ToString(),NodeResultName =NodeResultTypeEnum.ImageWidth.GetDescription() });
NodeResultModels.Add(new NodeResultModel() { NodeResultCode = NodeResultTypeEnum.ImageHeight.ToString(), NodeResultName = NodeResultTypeEnum.ImageHeight.GetDescription() });
}
public int DefaultImageIndex { set; get; } = -1;
public string ImageFolderPath { set; get; }
/// <summary>
/// 图像地址PATH
/// </summary>
public List<string> ImagePathList { set; get; }
}
/// <summary>
/// 几何创建
/// </summary>
public class GeometryContentModel : SchemeFlowNodeEntity
{
/// <summary>
/// ROIJSON
/// </summary>
public string RoiDataJson { set; get; }
/// <summary>
/// ROI几何
/// </summary>
public List<ROI> Regions { set; get; } = new List<ROI>();//roi集合
}
/// <summary>
/// blob
/// </summary>
public class BlobContentModel : SchemeFlowNodeEntity
{
}
/// <summary>
/// 颜色转换
/// </summary>
public class ColorRgbContentModel : SchemeFlowNodeEntity
{
}
/// <summary>
/// Result
/// </summary>
public class ConditionResultContentModel : SchemeFlowNodeEntity
{
/// <summary>
/// 判断条件 0:全部符合,1:任意条件符合
/// </summary>
public int JudgeType { set; get; }
public List<ResultConditionJudgeModel> JudgeList { set; get; } = new List<ResultConditionJudgeModel>();
public Color OkColor { set; get; }
public Color NgColor { set; get; }
public int ResultLocationX { set; get; }
public int ResultLocationY { set; get; }
}
public class ResultConditionJudgeModel {
public string VariableCode { set; get; }
public string VariableName { set; get; }
public decimal MinValue { set; get; }
public decimal MaxValue { set; get; }
}
/// <summary>
/// 工具节点类型
/// </summary>
public enum ToolNodeTypeEnum:long
{
/// <summary>
/// 图像源
/// </summary>
ImageSource=0,
/// <summary>
/// 几何
/// </summary>
Geometry=1,
/// <summary>
/// blob分析
/// </summary>
Blob=2,
/// <summary>
/// 条件结果
/// </summary>
ConditionResult=3,
/// <summary>
/// 颜色转换
/// </summary>
ColorRgb=4,
}
边栏推荐
- 【pytorch学习笔记】Datasets and Dataloaders
- 基于SVN分支开发模式流程浅析
- [transform] [practice] use pytoch's torch nn. Multiheadattention to realize self attention
- Pytorch深度学习和目标检测实战笔记
- Tensor ellipsis (three points) slice
- mysql innodb 存储引擎的特性—行锁剖析
- SQL server安装位置改不了
- Tencent internship interview sorting
- Neon global and Chinese markets 2022-2028: Research Report on technology, participants, trends, market size and share
- Global and Chinese market of iron free motors 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢
![[transformer] Introduction - the original author of Harvard NLP presented the annotated transformer in the form of line by line implementation in early 2018](/img/2b/b23aeab584f89be6678c0fe059d4b6.png)
[transformer] Introduction - the original author of Harvard NLP presented the annotated transformer in the form of line by line implementation in early 2018

There are links in the linked list. Can you walk three steps faster or slower

Byte practice surface longitude

Série yolov5 (i) - - netron, un outil de visualisation de réseau

cpu飙升排查方法

【注意力机制】【首篇ViT】DETR,End-to-End Object Detection with Transformers网络的主要组成是CNN和Transformer

Unity hierarchical bounding box AABB tree

Functional modules and application scenarios covered by the productization of user portraits

How does vs+qt set the software version copyright, obtain the software version and display the version number?

Kubernetes 进阶训练营 Pod基础
随机推荐
高并发下之redis锁优化实战
mmdetection 学习率与batch_size关系
Several sentences extracted from the book "leather bag"
Yolov5 advanced seven target tracking latest environment construction (II)
Chapter 04_ Logical architecture
QT - draw something else
socket.io搭建分布式Web推送服务器
4-29——4.32
Devaxpress: range selection control rangecontrol uses
mysql innodb 存储引擎的特性—行锁剖析
2022/02/14
Série yolov5 (i) - - netron, un outil de visualisation de réseau
视觉上位系统设计开发(halcon-winform)-2.全局变量设计
Pytoch deep learning and target detection practice notes
Using Tengine to solve the session problem of load balancing
[ue4] material and shader permutation
使用JMeter对WebService进行压力测试
Construction of operation and maintenance system
在MapReduce中利用MultipleOutputs输出多个文件
Global and Chinese markets for flexible chips 2022-2028: Research Report on technology, participants, trends, market size and share