- 博客(21)
- 收藏
- 关注
原创 Autofac:RegisterType 和 RegisterInstance 核心的区别
语法层面:修正括号后(),写法合法,可以替代;功能层面:若EventBus是无参构造,替换后结果一致;若有参构造,需手动传参,不推荐替代;最佳实践优先用(容器管理创建,更符合依赖注入设计);仅当EventBus需手动控制实例创建(如传特殊参数、第三方组件实例)时,才用。EventBus需手动控制实例创建场景是否用 RegisterInstance核心原因EventBus 构造函数需传特殊配置 / 手动参数✅ 是容器无法自动解析这些参数,必须手动传参。
2026-01-09 11:21:29
570
原创 增强版 vs 普通版 注入DependencyContainer 对比
普通容器就像是手动挡汽车控制精确简单可靠但操作繁琐适合简单路况(简单项目)增强容器就像是自动挡汽车操作简便智能处理但有学习成本适合复杂路况(复杂项目)建议:从普通容器开始,当发现需要频繁手动构造依赖时,再升级到增强容器。
2026-01-08 15:34:25
822
原创 【无标题】简单依赖注入容器
/ 构造函数也支持依赖注入return "张三";return 25;// 模拟数据库查询手动注入这种方式需要手动传递所有依赖参数。依赖顺序:注册时要注意依赖顺序,被依赖的服务需要先注册。生命周期管理单例(Singleton):整个应用一个实例瞬时(Transient):每次请求创建新实例优点代码解耦,易于测试依赖关系清晰易于替换实现(比如将 FileLogger 替换为 DatabaseLogger)局限性手动注入比较繁琐。
2026-01-08 14:30:57
118
原创 IEventBus订阅
csharp运行/// 用户实体类(用户管理表核心字段)set;} // 用户IDset;} // 用户名set;} // 用户角色(角色变更会触发权限变更)/// 用户变更事件(用户信息/角色变化时发布)set;} // 变更前的用户信息set;} // 变更后的用户信息/// 权限管理服务(模拟权限数据库/缓存)// 模拟权限存储:Key=用户ID,Value=权限列表/// 更新用户权限(核心逻辑:根据角色分配权限)
2026-01-03 11:15:43
229
原创 Winform 四种单例模式详细讲解 + 实例
模式线程安全懒加载代码复杂度适用场景饿汉式是否极低启动成本低、必用的窗体懒汉式(双重锁定)是是中等启动成本高、按需使用的窗体(推荐)静态内部类是是低追求简洁的懒加载场景基于 Application是是(隐式)低需同步窗体生命周期的场景。
2025-11-04 10:38:11
643
原创 WPF与WINFORM调用其他界面控件方式
.Invoke()是 C# 中用于安全调用委托 / 事件的语法,核心目的是在委托为null时避免空引用异常,同时简化代码。这在处理事件、多线程回调等场景中非常常用。
2025-10-24 10:22:30
712
原创 依赖注入(Dependency Injection, DI)
这是一个用于 “注册服务类型” 的方法,通常在应用程序启动时(如初始化阶段)被调用,目的是向 DI 容器 “登记” 接口与实现类的对应关系。参数:这是 DI 容器提供的 “注册器接口”,它包含一系列方法(如等),用于定义服务的生命周期和接口 - 实现映射关系。这段代码的作用是:通过 DI 容器注册 “单例服务”,将接口与实现类绑定,确保整个应用中使用时,始终得到同一个实例。解耦:使用方只依赖接口,不依赖具体实现,便于更换实现类。单例保证。
2025-10-20 16:24:27
774
原创 SON、Excel、二进制的序列化与反序列化
类型库 / 工具可读性跨平台性速度适用场景JSON高高中接口数据交换、配置文件Excel高中低报表、人工编辑的数据导入二进制低低高本地缓存、同一平台数据传输根据需求选择合适的方式:优先用 JSON 进行跨平台交互,用 Excel 处理需人工编辑的数据,用二进制处理性能敏感的本地存储。
2025-10-14 17:06:52
920
原创 Halcon 中同步采集(Synchronous Acquisition)和异步采集(Asynchronous Acquisition)的区别。
同步采集:你的程序(主线程)发出 “抓图” 命令后,会一直等待,直到相机真正完成曝光、读出并返回一张图像,然后程序才继续往下执行。这是一种 “阻塞式” 的工作方式。异步采集:你的程序(主线程)发出 “抓图” 命令后,会立刻返回,继续执行后续的代码(比如图像处理、逻辑判断等),而相机的曝光和图像读出在后台独立进行。这是一种 “非阻塞式” 的工作方式。同步采集:你点单后,就站在柜台前一直等着,什么也不做,直到咖啡师把做好的咖啡亲手交给你,你才离开。异步采集。
2025-10-04 08:55:50
1068
原创 矩阵加减法,点乘,矩阵乘法,卷积及在halcon中的应用
https://avaminzhang.wordpress.com/2012/03/15/%E7%9F%A9%E9%98%B5%E7%82%B9%E4%B9%98%EF%BC%8C%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95%EF%BC%8C%E5%8D%B7%E7%A7%AF/
2025-09-04 14:58:21
171
原创 阈值分割算子
Halcon 中的阈值分割算子非常丰富,各有其适用场景。了解它们的工作原理和用途,能帮你更高效地完成图像处理任务。下面我将为你详细梳理这些算子。
2025-08-30 16:47:43
676
原创 halcon平滑型滤波器
在 Halcon 中,是一款核心的,其功能是通过指定尺寸的矩形掩膜(Mask)计算图像每个像素邻域内的灰度平均值,从而实现图像降噪和平滑,同时可能损失部分细节。
2025-08-29 11:55:56
880
原创 Halcon滤波算子
理解每个滤波器的基本原理(如卷积、均值、中值、高斯权重、梯度计算)比死记硬背算子名字更重要,这能让你在面对新问题时灵活选择方案。是去噪、增强边缘,还是提取特定特征?(滤波器类型,如 'sum_abs', 'thin_max_abs' 等,影响边缘的粗细和连接性10),,你可以交互式地尝试不同的滤波器和参数,实时查看效果,这对于快速筛选合适的算子非常有用。(滤波尺寸,尺寸值越大,平滑效果越明显,常用的尺寸有3,5,7,9等奇数值4)。的理想选择47,能产生比均值滤波更平滑的模糊效果,边缘过渡更自然。
2025-08-29 09:30:00
772
原创 MR-JET-G设定误差过大报警等级
例:旋转型电机若切换为脉冲单位,需结合电子齿轮比(Pr.PA06/PA07)换算:1 rev = 编码器分辨率 × 电子齿轮比(分子 / 分母)。注:线性伺服电机的单位描述中,若涉及 “速度单位 [mm/s]” 可能为表述误差,实际位置偏差的单位应为长度单位(mm),需以驱动器手册为准。通过以上配置,可根据电机类型精准设定误差过大报警阈值,结合单位切换功能适配不同应用场景,有效防止因位置偏差超限导致的 “飞车” 风险。误差超过 2mm 对应的旋转圈数为:2mm÷10mm/rev = 0.2rev。
2025-08-26 11:56:43
843
原创 三菱伺服MR-JET-G力矩监控与限制设置指南
通过三菱伺服系统内置的功能,你可以通过伺服调试软件(如MR Configurator2)或PLC程序读取模拟量输出或通过通讯地址来监控电机的实际输出转矩。防止硬撞击的关键在于合理设置伺服驱动器的(例如PA11、PA12),这些参数通常以额定转矩的百分比形式设置67。对于需要更高控制精度的场景,三菱特有的(Position Block Mode)可以实现从位置控制到转矩控制的自动切换,特别适用于精密压合等应用12。
2025-08-26 11:48:37
1369
原创 Halcon 模板匹配与灰度匹配中金字塔数的原理及影响
在 Halcon 的模板匹配(如)和灰度匹配(如)中,的核心是 “图像金字塔” 多尺度匹配技术,目的是平衡匹配速度与精度,避免单一尺度匹配的效率低或鲁棒性差问题。
2025-08-22 16:09:21
1125
原创 归一化理解
尺度偏见” 本质是特征的数值范围差异掩盖了其实际重要性。归一化通过统一尺度,让不同特征的 “贡献权重” 回归其真实价值:在机器学习中使模型学到合理的特征重要性,在聚类中让距离反映数据的真实分布,在特征匹配中让相似性计算更可靠。这也是为什么归一化是数据预处理中的基础且关键步骤。
2025-08-06 14:20:04
612
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅