自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除