- 博客(14)
- 收藏
- 关注
原创 visionpro案例: 轴承缺珠检测
我们需要对下面轴承的缺珠情况进行检测,并且把缺珠的位置在图像上标记出来,效果如下:结论通过上述步骤和控件的使用,可以实现对轴承的缺陷检测。代码中使用了Cognex VisionPro工具进行特征提取和缺陷识别,并在图像上标记缺陷位置。项目可以根据实际需求进行扩展和优化
2025-04-21 20:38:16
686
原创 C# visionpro联合编程中遇到的问题之 R6025 - pure virtual function call
为了解决这个问题,我们需要确保在应用程序关闭前正确关闭所有相机资源。首先,我们需要获取所有连接的相机对象。然后,通过遍历关闭每个相机。
2025-04-14 14:20:32
1186
原创 C#参数三兄弟:ref、out与in的「职场大戏」
它强制要求变量在「签合同」(传参)前必须完成工商注册(初始化),在方法内部任何操作都会直接改写原始内存地址的值。这种「内存地址共享」机制,特别适合需要双向数据联动的场景,比如游戏引擎中同步修改玩家状态。参数是性能优化大师。当传递大型结构体(如3D渲染中的矩阵)时,它通过引用传递避免值类型的内存复制开销,同时用readonly特性锁死修改权限。: 职场中的甲方爸爸,传参数就像签对赌协议——「我给你的变量,你必须改出商业价值!: 刚入职的菜鸟快递员,背负着「就算包裹是空的,你也得给我塞点东西进去」的奇葩考核。
2025-03-06 16:51:05
1818
2
原创 C#接口与抽象类的区别:一场“贵族”与“流浪汉”的魔法对决
需要共享祖传代码吗?→ 是:选抽象类(贵族传家宝)→ 否:选接口(流浪汉技能卡)悄悄告诉你: 其实抽象类最怕你问它为什么不能多重继承,而接口最怕你让它存私房钱——这可是OOP江湖的终极秘密!现在你已经是掌握OOP魔法的巫师了!快去用抽象类打造你的家族王朝,用接口组建你的复仇者联盟吧!
2025-03-05 11:38:42
545
原创 C#数据类型全解:从基础到高级,一文掌握!
在C#中,数据类型是编程的基础,用于定义变量和方法可以存储的数据种类。和。此外,C#还支持一些特殊的类型,如和。
2025-03-04 10:03:09
2550
原创 C# 运算符重载:让代码更智能!
运算符重载是一种机制,允许程序员重新定义运算符在自定义类型上的行为。这不仅提高了代码的可读性,还使代码更接近自然语言。
2025-03-03 11:23:47
577
原创 C# 泛型与约束:灵活编程的超级工具
泛型是C#中一种强大的编程特性,允许我们在定义类、接口、方法时使用类型参数。通过泛型,我们可以编写出既灵活又类型安全的代码,避免重复编写类似的代码,同时还能提高代码的可读性和可维护性。在方法名后添加类型参数 ,并在方法体中使用该类型参数。a : b;} }a : b;Console.WriteLine("较大的整数是:" + maxInt);// 输出:较大的整数是:20Console.WriteLine("较大的字符串是:" + maxString);// 输出:较大的字符串是:banana。
2025-03-03 10:37:15
756
原创 深入理解C#中的属性和索引器:掌握封装与访问的艺术
属性是类的成员,用于封装字段(变量)。它们提供了对字段的访问控制,并可以在读取或设置字段值时执行额外的逻辑(如验证、转换等)。属性是实现封装的重要手段,能够隐藏类的内部实现细节,同时提供对外部的接口。属性的语法通常包括get和set访问器:假设有一个Person类,包含Name和Age属性:1.4 使用1.5 自动实现的属性(Auto-Implemented Properties)2. 索引器(Indexers)2.1 定义索引器允许对象以类似数组的方式被索引。它提供了一种灵活的方式来访问对
2025-03-02 15:06:22
2424
原创 动态规划大揭秘:用最少的刀切出完美回文!
动态规划是一种特别厉害的魔法,它能帮我们把复杂的问题分解成一个个小问题,然后逐个解决。在这个问题里,我们用动态规划来记录每个位置的最少切割次数。
2025-03-02 14:37:01
751
原创 中心扩展法:回文的秘密武器
嘿,朋友们!今天咱们来聊聊一个特别有意思的问题——如何在一个字符串里找到最长的回文子串。啥叫回文?就是正着读和倒着读都一样的字符串,比如 “level” 或 “racecar”。听起来是不是有点像魔法?别急,我这就带你去揭开它的神秘面纱!嘿,朋友们!今天咱们用中心扩展法找到了字符串中最长的回文子串。这个方法就像用魔法棒一样,从中心向两边扩展,简单又高效。它的时间复杂度是 O(n²),虽然不算最快,但绝对是最容易理解的。下次再遇到回文问题,记得把这根魔法棒拿出来用用哦!
2025-03-01 15:13:05
520
原创 LeetCode日常练习day1
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案。
2025-02-28 22:12:58
214
原创 C#中常用集合及其常用方法与区别
C#提供了多种集合类型,每种集合都有其独特的特点和适用场景。数组:固定大小,类型一致,适合快速访问。列表:动态大小,类型一致,适合动态调整。字典:键值对存储,键唯一,适合快速查找。队列:先进先出,动态大小,适合顺序处理。栈:后进先出,动态大小,适合逆序处理。通过掌握这些集合的使用方法和特点,可以更好地选择合适的集合类型,以满足不同的编程需求。
2025-02-28 19:53:47
1245
原创 C#超简单入门案例之飞行棋
飞行棋是一款经典的多人策略游戏,玩家通过掷骰子决定棋子的移动步数,棋盘上有各种特殊格子(如幸运转盘、地雷、暂停等),玩家在这些格子上会触发不同的事件。
2025-02-28 17:28:18
1512
原创 深入理解C#中的委托与事件
访问修饰符] delegate 返回类型 委托名称(参数列表);[访问修饰符] event 委托类型 事件名称;事件基于委托类型定义,用于封装委托的触发逻辑。// 定义“开饭”事件的委托类型// 定义“开饭”事件// 妈妈做饭的方法Console.WriteLine("妈妈:开始做饭...");// 模拟做饭过程Console.WriteLine("妈妈:饭做好了!");// 触发“开饭”事件MealReady?.Invoke("开饭啦!");// 爸爸吃饭的方法。
2025-02-27 14:41:59
890
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅