- 博客(302)
- 资源 (5)
- 收藏
- 关注
原创 【工作流】WorkflowCore 第四篇 While节点
说实在的,WorkflowCore 自带的这个While节点并不好用,既然已经理解了While节点的逻辑,为什么不写一个符合自己需求的While节点呢?#region 输入/// true: 条件进行循环,false:根据次数循环set;} = false;set;//While循环次数set;} = 1;这样就得到了一个既可以选择设置条件,又可以选择设置循环次数的while节点了!!!
2024-12-31 09:57:21 908 1
原创 【工作流】WorkflowCore 第三篇 不构造输入节点
在这篇文章中,我们详细的接解释了输入输出的节点的构造过程,这次我遇到了一个新的问题。
2024-12-21 14:07:53 325 1
原创 【Syncfusion系列】Diagram 杂谈 第四篇 节点拖拽
Diagram 的拖拽也可以通过这种方式实现。不过在过程中我发现一个问题:由于 Diagram 是支持 缩放的, 而且是有滚动条的。因滚动条和缩放导致视口变换,导致的拖放不准的问题! 也就是和鼠标释放的位置不一致。
2024-12-20 11:46:37 502 1
原创 【C#】特性
特性(Attribute)允许程序员向类型、成员(如类、方法、属性等)添加信息,这些信息可以在运行时通过反射获取。特性用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。预定义的特性可以用来为代码添加元数据和指示编译器和运行时执行特定的操作。:用于标记一个类或结构体可序列化,并可以在网络上传输或保存到磁盘上。[Obsolete]:用于标记一个方法、属性或类已经过时,并提供相应的替代方案或建议。:用于指定一个方法只有在满足特定条件编译指令时才会被编译。自定义特性继承自类。
2024-12-12 10:20:47 942 1
原创 【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化
在SfDiagram中,你不能序列化每个图表对象的Content和ContentTemplate。如果你想保留图表对象的ContentTemplate,请将它们保存在资源中,并在图表对象添加到图表页面后应用它们。自定义类中的自定义属性,如果从SfDiagram的任何接口或任何视图模型类派生,则可以通过DataMember属性进行序列化。
2024-12-12 09:55:42 884 3
原创 【Syncfusion系列】Diagram 杂谈 第二篇 节点的添加和删除。
Diagram 封装了很多的操作,都无需我们编程。比如这里,删除和复制都已经封装好了。
2024-12-11 19:37:11 314 1
原创 【工作流】WorkflowCore 第二篇 Step 节点 输入输出构建
在这个例子中,AddNumbers步骤有两个输入Input1和Input2,以及一个输出Output。在Run方法中,它计算这两个输入的和,并将结果赋值给输出属性。set;set;set;在Workflow Core中,通过JSON格式定义工作流时,你可以使用Inputs和Outputs字段来映射步骤的输入和输出到数据类。"Steps": [},},#region 输入/// 图像文件夹路径set;} = "null";set;} = false;
2024-12-06 21:26:44 900 4
原创 【工作流】WorkflowCore 第一篇 json构建几个需要注意的地方
比如这里"bloop", 你的Step模块必须有一个叫bloop的属性!包括如果step模块代码里面声明了枚举,json中写为枚举对应的字符串,WorkflowCore 也会自动字符串转换为枚举!“Inputs” 中的 key值就是我们Step模块的属性,它和属性拼写必须一致!在json中,“Inputs” 中的 key值就是我们Step模块的属性,value就是对应属性的值。这里需要注意的是,json中key对应的value都是字符串!这种就是获取 step 模块中的属性值,一般这种方式是模块的输出!
2024-12-06 01:30:00 378 4
原创 【halcon】Metrology工具系列之set_metrology_model_param
上一篇讲到 set metrology_object_param,这次看看set_metrology_model_param有啥区别!
2024-11-29 18:45:06 390 1
原创 【halcon】Metrology工具系列之get_metrology_object_result_contour
get_metrology_object_result_contour — 查询测量对象的结果轮廓。
2024-11-28 15:03:18 431 3
原创 【halcon】Metrology工具系列之 get_metrology_object_result
get_metrology_object_result — 获取应用于测量模型的测量结果。
2024-11-28 10:54:12 1013 1
原创 【halcon】Metrology工具系列之get_metrology_object_measures
Transition=‘positive’ 黑暗走向光明,就是positive积极的Transition=‘negative’ 光明走到黑暗,就是negative消极的‘measure_transition’ 参数这个参数用于指定在边缘检测中使用哪种类型的边缘。具体来说,它决定了是使用暗/亮(dark/light)边缘还是亮/暗(light/dark)边缘。参数值‘all’:这个值表示同时检测所有类型的边缘,即暗/亮和亮/暗边缘都会被检测到。‘positive’:这个值表示只检测暗/亮边缘。
2024-11-28 10:14:36 1138
原创 【halcon】Metrology工具系列之 get_metrology_object_model_contour
我们可以清晰的看到,方块的排列是根据这跟红线进行排布的,红线就是他们的中心!
2024-11-27 15:19:06 773 1
原创 【halcon】Metrology工具系列之 add_metrology_object_line_measure
在了解2D测量概念之后,我们再来看看 add_metrology_object_line_measure 这个算子!。这个算子的作用是在一个测量模型(metrology model)中添加一个线类型的测量对象(metrology object),并准备相应的矩形测量区域功能向测量模型中添加一个线类型的测量对象,并设置测量区域。这个操作符需要一个模型的句柄(handle),通过参数传递。几何形状描述。
2024-11-27 11:45:42 1347
原创 【雷赛】雷赛运动控制卡由脉冲改为总线程序上有哪些变动
总线好处就是可以随时扩展轴,而且接线更简答,主要就是网线。缺点就是稳定性不如脉冲卡。需要加个看门狗,也就是定时读取总线状态。/// 获取总线状态else。
2024-11-26 20:26:00 736
原创 【halcon技巧】如何扩大背景
我需要将大量零散的区域聚合到一起,所以会用到膨胀,将分散的区域粘到一起。形成一个整体之后还需要恢复到之前的大小!于是就会用到腐蚀。这样就能恢复到和之前一样的大小。但是理想很饱满,现实很意外。现在出现的情况是,膨胀时 图片右边膨胀的区域大小超出的图片的范围。所以右边其实没有膨胀的预想的那么多,所以腐蚀相同大小时,相当于右边会多腐蚀了一些。(看上图理解)如何解决这个看似误解的问题呢?
2024-11-21 21:17:56 123 1
原创 【halcon算子】tile_images_offset
本文介绍了Halcon库中的tile_images_offset操作符,该操作符用于将多个图像对象拼接成一个大图像,并允许显式指定每个图像的位置信息。输入图像必须具有相同数量的通道,输出图像的大小由参数Width和Height确定。通过OffsetRow和OffsetCol参数确定输入图像在输出图像中的位置,可选地对输入图像进行裁剪。如果输入图像在输出图像中重叠,则高索引图像会覆盖低索引图像的数据。该操作符支持多线程执行,并提供了详细的参数说明和示例代码。
2024-11-21 20:34:34 1298
原创 【halcon算子】tile_images
操作符用于将多个图像对象拼接成一个大图像。输入的图像对象必须包含相同数量的通道,并且可以是不同大小的。输出图像TiledImage包含与输入图像相同的通道数。在输出图像中,输入的多个图像被拼接成NumColumns列。每个拼接块的大小由所有输入图像中最大宽度和高度决定。如果输入图像小于拼接块的大小,它将被复制到相应拼接块的中心。参数TileOrder决定了在NumColumns(即如果不是1或Num)未确定的情况下,图像在输出中的排列顺序。如果TileOrder。
2024-11-21 19:26:56 379
原创 【wpf】ResourceDictionary 字典资源的用法
你可以在非启动项目中直接创建资源字典并引用它。如果要在非启动项目中使用资源,可以通过代码动态加载该资源字典。如果要让启动项目访问非启动项目的资源,可以在启动项目的App.xaml中合并该资源字典。这种方式可以避免依赖于,并直接在代码中使用资源字典。
2024-11-09 15:07:22 762 4
原创 【Syncfusion系列】Diagram 杂谈第一篇
我认为Diagram是Syncfusion中首屈一指的优秀控件!最近在写一个工作流引擎,前端界面就用的是Diagram,接下来就来看一看。
2024-11-08 20:57:02 998 3
原创 【wpf】wpf程序联合控制台测试
如果在wpf的工程里面,想通过控制台输出或者调试,可以点开项目属性,把输出输出类型改为控制台应用输出,这样调试程序时,wpf的界面和控制台界面都会同时打开,而且写的控制台代码都会有效!这是测试Else3的控制台输入输出!
2024-10-29 13:52:42 426 2
原创 【Elsa 3】Elsa 3 中的一些基本概念梳理
作为一名视觉工程师,见过很多成熟的视觉软件,都是基于拖拉拽的,通过托选构成整个流程。这样可以解放视觉工程师,把拖拉拽的任务可以交给售后工程师。这个拖拉拽形成流程的过程,就是工作流的概念。ps:不得不说,后端服务开发的一些新的技术概念往往走在工业软件开发的前面。Elsa 3 就是为数不多面向C#的优秀的工作流框架(还有很多出名的工作流框架都是面向java的)。Elsa 3 更多的是面向后台服务的开发的。但是并不影响我将他引入视觉软件的开发。前面说到,很多成熟的视觉软件,都是基于拖拉拽的,比如海康的的视觉软件
2024-10-28 15:03:49 1236 2
原创 【工控】真空发生器和真空过滤器(真空过滤器崩坏~~)
星期六,接到客户电话说,真空过滤器坏了,卡扣哪里绷断了。我里面过去换了个新的,结果过了两天,客户又反馈真空过滤器崩坏了。这是啥情况??????
2024-10-21 15:38:11 436 4
原创 【halcon/C#】弧度和角度的转换
`tuple_rad` : 是将度转换为弧度单位, 所以这里函数里的rad是告诉你输出的是弧度!`tuple_deg`:是反过来! deg,转换为度!
2024-10-12 09:20:58 1428 3
原创 【halcon】halcon窗口缩放导致图片或者图形消失
以前遇到的问题,一直困扰着我,今天终于破案了!!!你是否也遇到过,在halcon窗口上(HSmartWindowControlWPF ),通过函数 DispObj 或者 DispCross 等显示函数显示图片或图形时,一旦数量过多就会出问题。一旦对图片进行缩放,有的图形就会消失,像是被释放掉了。
2024-10-08 15:40:00 291
原创 【C#基础】函数传参大总结
在C#中,函数传参有三种主要的方式:**按值传递**、**按引用传递**和**输出参数传递**。每种方式的使用场景和效果都不同,下面我将详细讲解这三种方式。
2024-09-20 15:34:25 1362 1
原创 【QT】十分钟全面理解 信号与槽的机制
Qt 中的信号与槽机制是其事件处理系统的核心,用于实现对象之间的通信。信号是对象发出的消息,而槽是响应这些消息的函数。Qt 的信号与槽机制非常灵活,允许你使用不同的方式进行连接和处理。经典的SIGNAL和SLOT宏语法。使用函数指针的现代 C++ 风格。使用 lambda 表达式的简洁写法。自动连接的方便方法。Qt 的信号与槽机制通过松耦合的方式实现了对象之间的通信,使得 Qt 应用程序具有高度的模块化和可维护性。connect的第三个参数用于指明接收信号并执行槽函数的对象。
2024-09-05 11:08:19 1867 6
原创 【qt踩坑】路径含中文导致的报错,以及 OpenGL的链接报错
本来是准备采用VS+Qt插件的方式来开发Qt的,但是学习过程中发现,这种模式还是没有直接用`Qt Creator` 开发来的方便,插件这种模式坑多,功能不完善。不过在直接使用`Qt Creator`的时候也踩坑了
2024-09-04 21:08:55 841 2
原创 【C++基础】构造函数和他的初始化列表
C++构造函数在对象的生命周期管理中扮演了重要角色,通过不同类型的构造函数(如默认、参数化、拷贝构造函数等)可以灵活地控制对象的初始化行为,确保对象在使用前处于有效状态。初始化列表是一种高效且必需的初始化方式,特别是当你需要初始化const成员、引用成员或者必须提供参数初始化的成员时。在继承结构中,基类的构造在派生类之前执行,派生类可以通过初始化列表来控制基类如何初始化。这种机制确保了对象创建过程中的正确性和效率。
2024-09-04 16:13:35 1248 2
原创 【QT】VS2020+QT插件 CMake项目开发踩坑记录
我使用的是VS2022, 安装了QT的两个插件,并且使用CMake进行工程管理。当然如果你想通过VS开发qt,第一步是安装QT(我目前安装了最新的6.7版本)然后才是安装VS中的QT插件。这篇文章,主要记录,在这个开发模式中,遇到的一些坑!已经填坑的方法。
2024-09-04 10:05:35 861 1
原创 【OpenGL】 理解makeCurrent函数
用QT学校OpenGL绝对可以事半功倍,QT提供了一系列对OpenGL的支持,包括OPenGL窗口类,对OpenGL函数的面向对象的封装等。
2024-09-04 09:11:10 1442
原创 【OpenGL】零星感悟记录
VAO:管理顶点属性配置,包含顶点数据和索引数据的绑定信息。VBO:存储顶点数据(如位置、颜色等),提供给顶点着色器使用。EBO:存储顶点索引数据,定义顶点的绘制顺序,以减少冗余。这里需要强调一点。VAO,就像一个记录仪, 会记录当前状态机下发生的”一切“!包括一些 一些对象的绑定和解绑。比如,VAO会记录EBO的绑定和解绑过程。所以,如果EBO在VAO之前解绑,就会导致 (glDrawElements)报错!!!!!但是 VBO在VAO之前解绑,不会导致错误,是为啥?
2024-09-03 15:28:06 1203
原创 【工控】线扫相机小结 第一篇
首先,我使用帧触发(这里采用了软触发的方式),告诉相机从此时开始,关注编码器的信号。编码器产生的脉冲通过变频器变频,从而产生行触发信号,行触发信号会触发线扫相机拍照。相机不停的积累,直到8000行数据到位,产生一帧图片数据,至此不在关注编码器信号,直到下一个帧触发信号来临!
2024-08-22 11:55:33 3244 7
孙鑫C++教程(全20讲)PPT讲义 + code
2024-04-18
wpf .net prism 框架 项目模板
2023-12-08
tesseract-ocr-setup-4.00.00dev + tessdata + jTessBoxEditorFX-2.2
2022-04-25
TimeQuest笔记
2013-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人