- 博客(318)
- 资源 (5)
- 收藏
- 关注
原创 【Prism】Prism 中 EventTrigger 无法触发命令的问题及解决方案
在使用 Prism 时,如果绑定的命令无法触发,可能是ViewModel没有正确绑定到View。如果ViewModel未实现通常不需要手动添加。如果ViewModel实现了,建议手动启用,以确保ViewModel能够正确绑定。这个小细节在开发中容易被忽略,但却可能导致功能无法正常运行。因此,在使用 Prism 进行 MVVM 开发时,建议始终检查ViewModel绑定情况,以避免类似的问题。希望这个经验能帮到大家!
2025-04-02 15:43:28
12
原创 【C#】`Task.Factory.StartNew` 和 `Task.Run` 区别
✅日常写 async 或后台处理?用Task.Run,安全简洁。🔧有特殊需求(如长时间任务、不走线程池、UI 调度器)?用。// ⚠️ 容易犯错:});// 返回 Task<Task>,容易误用!});
2025-03-28 19:55:06
485
原创 【C#】Task 线程停止
就像一个“遥控开关”,可以让后台线程知道“该停下来了”。bool适合非常简单的控制,一两个线程内部用可以;但如果你要和 Task、多个线程、现代异步配合,才是真正线程安全、优雅且可组合的现代解决方案。
2025-03-28 19:38:42
545
原创 【C#】`Interlocked` vs `lock`
如果你只是修改一个变量,优先用,性能更高;如果你要操作多个变量或执行复杂逻辑,就用lock,更通用更灵活。你这个相机采集系统如果涉及采图计数、图像编号、控制状态这些,可以大量使用;如果是控制图像队列、处理流程,就可能需要lock。是一个线程安全的整数和引用操作工具类,不仅能递增递减,还能实现原子加法、值替换、CAS 等,高性能、无锁,非常适合并发场景!如果你在做一些并发计数器、控制标志位、实现轻量锁,是利器!
2025-03-28 16:57:17
417
原创 【C#】关键字 volatile
volatile让你在线程之间正确地观察到变量的变化,适合用于控制标志位(如循环退出),但不适合用于计数器、队列等需要原子操作的场景。
2025-03-28 16:50:01
462
原创 【yolo】初学 YOLO,你需要知道的三种配置
定义类别数量nc: 3 # 必须和 data.yaml 中一致# 深度和宽度缩放因子(small 模型)# Anchor 框设置(每个输出层3组)anchors:# 主干网络结构backbone:# 检测头部head:配置类型文件/代码路径内容数据配置data.yaml定义训练、验证、测试数据路径和类别信息模型配置yolo.yaml定义模型结构、通道数、anchor、Detect 层等训练方式yolo 命令用代码方式灵活启动训练,更易集成和调试。
2025-03-22 10:25:50
392
原创 【yolo】使用 Netron 可视化深度学习模型:从 YOLOv1 到 YOLOv8 的探索
Netron 是一个用于可视化神经网络模型结构的工具,支持多种深度学习框架的模型文件格式。模型可视化:支持 ONNX、TensorFlow、PyTorch、Keras 等格式,能够以图形化的方式展示模型的网络结构。参数查看:可以查看每一层的输入输出维度、权重参数等详细信息。跨框架支持:方便在不同框架之间进行模型转换和迁移。轻量化与易用性:提供网页版和桌面版,无需复杂配置即可使用。官网地址当我将一个onnx模型拖到网页时,你将得到一幅图。我主要看这个输出,你知道为啥是:198400吗?
2025-03-21 21:44:20
837
1
原创 【yolo】YOLO训练参数输入之模型输入尺寸
是YOLO训练和推理过程中非常重要的参数之一。YOLO要求输入图像的尺寸是固定的,通常为正方形(如416×416、640×640等)。这个尺寸直接影响模型的性能和速度。
2025-03-21 21:01:26
1603
原创 【yolo】yolo训练报错,以及解决方案
刚刚,写了《【yolo】yolo推理报错,以及解决方案》,马上训练就遇到类似的报错。我对我标注的图像进行了300轮的训练,但是训练完300轮后,报错了。。。
2025-03-21 15:17:39
682
原创 我的创作纪念日
五年前,我开始在博客上记录我的技术探索之旅。从最初的尝试到现在,这已经成为了我生活和工作的一部分。今天,借此机会总结一下这五年来的点滴收获。
2025-03-17 09:25:01
355
原创 【工控】线扫相机小结 第五篇
线扫相机通过光栅尺的脉冲触发, 我在调试线扫过程中,发现图像被拉伸,预设调节分配器。图像正常后,我提高的相机的扫描速度(Y轴动的更快了)。动的更快的发现,图像变短了(以前设置的高度为1000,现在高度明显变短了,但是出图了),而且又畸形了。此时不管怎么调节速度,都无法改变畸形。
2025-03-10 11:43:21
315
1
原创 【halcon】如何理解 halcon 中的domain 之 “区域被裁剪掉了!”
单词 domain 翻译为:n.: 域, 域名, 领域, 领地, 版图, 领土, 地盘, 王国。我最后的做法是,显示的时候关掉,显示完了就打开!
2025-03-08 14:34:34
122
原创 【WPF】绑定报错:双向绑定需要 Path 或 XPath
`CameraList` 里的每个元素就是 `string`,直接使用 `{Binding .}` 让 `TextBox` 绑定当前项
2025-03-01 15:23:44
423
原创 【C# 数据结构】队列 FIFO
队列和FIFO是什么关系?队列是一种数据结构。FIFO是队列需要遵循的基本原则:First-In, First-Out。或者说FIFO是队列的基本特性!C#中有个类叫做Queue,就是实现了队列这种数据结构的类,它遵循FIFO这个原则。
2025-02-21 10:51:57
865
1
原创 【工作流】WorkflowCore 第四篇 While节点
说实在的,WorkflowCore 自带的这个While节点并不好用,既然已经理解了While节点的逻辑,为什么不写一个符合自己需求的While节点呢?#region 输入/// true: 条件进行循环,false:根据次数循环set;} = false;set;//While循环次数set;} = 1;这样就得到了一个既可以选择设置条件,又可以选择设置循环次数的while节点了!!!
2024-12-31 09:57:21
974
1
原创 【工作流】WorkflowCore 第三篇 不构造输入节点
在这篇文章中,我们详细的接解释了输入输出的节点的构造过程,这次我遇到了一个新的问题。
2024-12-21 14:07:53
361
1
原创 【Syncfusion系列】Diagram 杂谈 第四篇 节点拖拽
Diagram 的拖拽也可以通过这种方式实现。不过在过程中我发现一个问题:由于 Diagram 是支持 缩放的, 而且是有滚动条的。因滚动条和缩放导致视口变换,导致的拖放不准的问题! 也就是和鼠标释放的位置不一致。
2024-12-20 11:46:37
542
1
原创 【C#】特性
特性(Attribute)允许程序员向类型、成员(如类、方法、属性等)添加信息,这些信息可以在运行时通过反射获取。特性用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。预定义的特性可以用来为代码添加元数据和指示编译器和运行时执行特定的操作。:用于标记一个类或结构体可序列化,并可以在网络上传输或保存到磁盘上。[Obsolete]:用于标记一个方法、属性或类已经过时,并提供相应的替代方案或建议。:用于指定一个方法只有在满足特定条件编译指令时才会被编译。自定义特性继承自类。
2024-12-12 10:20:47
999
1
原创 【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化
在SfDiagram中,你不能序列化每个图表对象的Content和ContentTemplate。如果你想保留图表对象的ContentTemplate,请将它们保存在资源中,并在图表对象添加到图表页面后应用它们。自定义类中的自定义属性,如果从SfDiagram的任何接口或任何视图模型类派生,则可以通过DataMember属性进行序列化。
2024-12-12 09:55:42
928
3
原创 【Syncfusion系列】Diagram 杂谈 第二篇 节点的添加和删除。
Diagram 封装了很多的操作,都无需我们编程。比如这里,删除和复制都已经封装好了。
2024-12-11 19:37:11
356
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
1037
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
510
4
原创 【halcon】Metrology工具系列之set_metrology_model_param
上一篇讲到 set metrology_object_param,这次看看set_metrology_model_param有啥区别!
2024-11-29 18:45:06
441
1
原创 【halcon】Metrology工具系列之get_metrology_object_result_contour
get_metrology_object_result_contour — 查询测量对象的结果轮廓。
2024-11-28 15:03:18
498
3
原创 【halcon】Metrology工具系列之 get_metrology_object_result
get_metrology_object_result — 获取应用于测量模型的测量结果。
2024-11-28 10:54:12
1089
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
1222
原创 【halcon】Metrology工具系列之 get_metrology_object_model_contour
我们可以清晰的看到,方块的排列是根据这跟红线进行排布的,红线就是他们的中心!
2024-11-27 15:19:06
819
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
1567
原创 【雷赛】雷赛运动控制卡由脉冲改为总线程序上有哪些变动
总线好处就是可以随时扩展轴,而且接线更简答,主要就是网线。缺点就是稳定性不如脉冲卡。需要加个看门狗,也就是定时读取总线状态。/// 获取总线状态else。
2024-11-26 20:26:00
1023
原创 【halcon技巧】如何扩大背景
我需要将大量零散的区域聚合到一起,所以会用到膨胀,将分散的区域粘到一起。形成一个整体之后还需要恢复到之前的大小!于是就会用到腐蚀。这样就能恢复到和之前一样的大小。但是理想很饱满,现实很意外。现在出现的情况是,膨胀时 图片右边膨胀的区域大小超出的图片的范围。所以右边其实没有膨胀的预想的那么多,所以腐蚀相同大小时,相当于右边会多腐蚀了一些。(看上图理解)如何解决这个看似误解的问题呢?
2024-11-21 21:17:56
167
1
原创 【halcon算子】tile_images_offset
本文介绍了Halcon库中的tile_images_offset操作符,该操作符用于将多个图像对象拼接成一个大图像,并允许显式指定每个图像的位置信息。输入图像必须具有相同数量的通道,输出图像的大小由参数Width和Height确定。通过OffsetRow和OffsetCol参数确定输入图像在输出图像中的位置,可选地对输入图像进行裁剪。如果输入图像在输出图像中重叠,则高索引图像会覆盖低索引图像的数据。该操作符支持多线程执行,并提供了详细的参数说明和示例代码。
2024-11-21 20:34:34
1441
原创 【halcon算子】tile_images
操作符用于将多个图像对象拼接成一个大图像。输入的图像对象必须包含相同数量的通道,并且可以是不同大小的。输出图像TiledImage包含与输入图像相同的通道数。在输出图像中,输入的多个图像被拼接成NumColumns列。每个拼接块的大小由所有输入图像中最大宽度和高度决定。如果输入图像小于拼接块的大小,它将被复制到相应拼接块的中心。参数TileOrder决定了在NumColumns(即如果不是1或Num)未确定的情况下,图像在输出中的排列顺序。如果TileOrder。
2024-11-21 19:26:56
449
原创 【wpf】ResourceDictionary 字典资源的用法
你可以在非启动项目中直接创建资源字典并引用它。如果要在非启动项目中使用资源,可以通过代码动态加载该资源字典。如果要让启动项目访问非启动项目的资源,可以在启动项目的App.xaml中合并该资源字典。这种方式可以避免依赖于,并直接在代码中使用资源字典。
2024-11-09 15:07:22
845
4
孙鑫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关注的人