- 博客(41)
- 收藏
- 关注
原创 Vision Pro零基础教程专栏:校准、对比与结果分析工具
校正应用程序的工具,确保应用程序返回的结果具有意义。标定板是一种用于机器视觉系统中的校准工具,它通常包含特定的几何图案或编码,用以确定图像采集设备的成像特性,如畸变、尺度因子和光学畸变。标定板的精确几何特征允许通过比较图像中的图案与实际尺寸来校准图像采集系统,确保图像处理算法的准确性。使用PatMax算法检测缺陷,通过PMAlign工具实现训练图片和当前输入图片的对比,得到缺陷。阈值是训练基准图案和检查图片之间的差异,值越大,忽略的细节就越多。
2024-04-22 17:49:25
1770
原创 VisionPro 脚本教程专栏:深入理解与实践
在VisionPro的 QuickBuild 开发环境中,Job 是工程的基本组成单位。每个 Job 中可以包含多个工具和工具块(ToolBlock),而脚本功能允许用户在这些组件的基础上实现更高级的逻辑控制。VisionPro脚本是实现定制化视觉处理逻辑的关键,通过本专栏的深入学习,你应该能够掌握脚本的编写、使用和调试。在后续的文章中,我将分享更多关于VisionPro高级功能的脚本实现技巧。希望本专栏能够帮助你在机器视觉领域更进一步。如果你有任何问题或建议,欢迎在评论区留言。
2024-04-21 20:14:38
2422
1
原创 Vision Pro 零基础教程:1.机器视觉概述
机器视觉是一种模拟人类视觉系统,使用机器代替人眼来进行精确测量和智能判断的技术。它通过数字相机、图像处理算法和计算机系统来模拟人眼的视觉感知功能,实现对物体的识别、定位、测量和检测等任务。机器视觉系统的特点是提高生产的柔性和自动化程度,在不适合人工作业的危险工作环境或人工视觉难以满足要求的场合,机器视觉展现出其独特的优势。它不仅能够提高生产效率,还能提高制造过程的精确性,从而减少成本。机器视觉是一个跨学科的领域,它结合了计算机科学、图像处理、模式识别等多个学科的知识。
2024-04-17 21:19:26
2428
原创 Winform重难点笔记
.bak|*.log|*.csv" + "图像文件 (*.bmp;*.png" + "文档文件 (*.doc;*.docx" + "可执行文件 (*.exe)|*.exe" + "所有文件 (*.*)|*.*";MessageBox.Show("弹出框", "窗口标题",MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk,MessageBoxDefaultButton.Button2);MessageBox.Show("弹出框","窗口标题");
2024-04-16 22:09:58
596
原创 WinForms 零基础进阶教程:文件操作与 CSV 处理
本期是WinForms中文件操作和CSV处理的基础内容。掌握这些文件操作的使用方法对于WinForms开发者来说是非常重要的。另外本专栏将会持续更新,作者专栏中有已经更新完毕的C#基础教程!!!
2024-04-15 11:31:41
1092
原创 WinForms零基础进阶控件教程(超实用&&详细版)
本篇为WinForms零基础进阶教程。希望能帮助大家更好地掌握这些控件的使用。在实际开发中,这些控件非常强大,可以构建出功能丰富的桌面应用程序。
2024-04-13 16:04:40
1365
原创 Winforms_基础控件(超实用&&详细版)
这些基础控件是构建WinForms应用程序的基石,通过它们的组合使用,开发者可以创建出功能完备、交互性强的桌面应用程序。掌握这些控件的使用方法对于WinForms开发者来说是非常重要的。另外本专栏将会持续更新,作者专栏中有已经更新完毕的C#基础教程!!!
2024-04-12 11:11:50
1395
原创 Task与async/await(进阶篇&小白易懂版)
C#中同步和异步是两种不同的编程模式,用于控制代码的执行方式。同步模式是指代码按照从上到下的顺序依次执行,在执行一个任务时会一直阻塞在那里等待其完成。而异步模式则是指在调用一个任务后立即返回,不会等待这个任务完成,而是通过回调机制在任务完成时通知调用者,可以同时执行多个任务,提高程序的效率。使用场景:当你有一些可能会阻塞线程(如IO操作、网络请求、复杂计算等)的操作时,可以将它们封装为任务,并使用Task类来异步执行它们。这样可以避免阻塞UI线程或其他重要线程,提高应用程序的响应性和性能。
2024-04-11 16:23:30
2228
原创 多线程(进阶篇&小白易懂版)
当你有一些可能会阻塞线程(如IO操作、网络请求、复杂计算等)的操作时,可以将它们封装为线程,并使用。:你有一些可能会阻塞线程(如IO操作、网络请求、复杂计算等)的操作时,可以将它们封装为线程,并使用。在这个示例中,有一个方法被封装为线程并执行,然后在需要的时候将计算结果传递回主线程。的文本,但由于它们是在不同的线程中运行的,所以我们无法预测它们的执行顺序和完成时间。工作的过程,我们可以将线程看作是程序的执行路径,每个线程都定义了一个独特的。
2024-04-10 21:50:10
1018
原创 什么是数据库?如何安装SQL Server(超详细版)
数据库,顾名思义,是存储数据的“仓库”。它不仅仅是简单的数据存储,而是以一种特定的方式组织起来,使得数据可以高效地被检索更新和管理。数据库的核心价值在于其能够为各种应用提供数据支持,无论是商业决策、科学研究还是日常生活管理。
2024-04-07 21:51:43
1908
原创 近期全球AI重要资讯
AI领域的这些重大资讯,不仅展示了AI技术的最新进展,也预示着AI将在未来的社会和经济中发挥更加重要的作用。从OpenAI的“免登录”政策,到Grok-1.5的开源,再到阿里巴巴和Adobe的AI应用,我们可以看到AI正在逐步改变我们的工作和生活方式。随着技术的不断进步和应用的不断拓展,AI的未来充满了无限可能。
2024-04-04 22:27:11
769
原创 WinForm_初识_事件_消息提示
`WinForms`,作为` .NET Framework` 中用于创建 Windows 应用程序的用户界面的一部分,提供了丰富的`控件`和`组件`,极大地便利了桌面应用程序的开发。本篇文章将深入探讨 WinForms 中的事件驱动机制和消息提示框的使用方法,旨在帮助开发者更好地理解和运用这些基础知识,以提升开发效率和改善程序的用户体验。
2024-04-01 22:04:31
1557
原创 本周AI资讯《人工智能的新浪潮:技术革新与行业冲击》
人工智能(AI)正以前所未有的速度改变世界。近期,几项重大新闻再次将AI推到了风口浪尖,从巨额投资到行业应用,从技术突破到对传统职业的挑战,AI的影响无处不在。本文将深入探讨四个关键新闻事件,分析它们对行业和社会的深远影响。
2024-03-31 18:00:33
1062
原创 面向C#初学者的JSON入门与实践
JSON是一种完全独立于语言的格式,但使用的是类似于JavaScript编程语言的约定。一个JSON文档由一系列的键值对构成,其中的数据结构主要有两种:对象(由花括号{}包围)和数组(由方括号[]包围)。有时候,我们需要自定义序列化的行为,比如日期格式、忽略空值等。我们可以通过创建实例来设置这些选项。WriteIndented = true, // 格式化输出IgnoreNullValues = true, // 忽略空值。
2024-03-30 16:51:50
1439
原创 C#预处理器指令(巨细版)
C#预处理器指令是.NET开发中一个不可或缺的工具。通过本文的介绍,我们不仅复习了预处理器指令的基本用法,还探讨了一些高级应用和最佳实践。作为一名资深的C#开发工程师,合理利用预处理器指令可以极大地提升代码的质量和可维护性,同时也是提升开发效率的重要手段。希望本文能够帮助你在实际工作中更好地运用这些指令,编写出更加优雅、高效的C#代码。主页有21天速通C#教程欢迎订阅!!!
2024-03-29 20:14:18
1377
原创 C# 高级文件操作与异步编程探索(初步)
本文将详细探讨C#中高效文件操作的模式、方法,及其在现代编程中的应用,并深入理解异步编程的功用和优势。同步操作往往是阻塞性的,意味着直至当前操作完成,后续代码才能执行。相反,异步操作允许程序在等待操作完成的同时,继续处理其他任务。异步编程的优势体现在它能够增强应用程序的响应性,优化资源的使用,并简化复杂的并发代码的编写。当我们处理更加复杂的数据类型,如图像、音频或任何其他非文本格式,二进制读写就派上用场了。两个非常有力的类,让文本的读写变得既简单又高效。标记的方法表示该方法是异步的,
2024-03-28 22:50:23
1049
原创 C#中的特性和反射:使代码灵活而强大的利器
NET框架为我们提供了一些预定义的特性,如和Obsolete等。这些特性有着特定的用途和行为。:定义了自定义特性的使用规则,比如它可以应用到哪些类型的声明上,是否可以多次应用等。:用于条件编译,只有在定义了特定的预处理指令时,标记为的方法才会被执行。Obsolete:标记不再推荐使用的程序元素,可以提供替代方案,并指定是生成警告还是错误。特性和反射,是C#语言中两个极其有用的功能。特性提供了一种注解代码的方法,允许我们在编译时和运行时访问这些注解。
2024-03-27 20:53:03
1029
原创 C#_事件_多线程(基础)
多线程就是多个线程同时工作的过程,我们可以将线程看作是程序的执行路径,每个线程都定义了一个独特的控制流,用来完成特定的任务。在多线程中执行的第一个线程称为主线程,当 C# 程序开始执行时,将自动创建主线程,而使用 Thread 类创建的线程则称为子线程,您可以使用 Thread 类的 CurrentThread 属性访问线程。线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。主页有21天速通C#教程欢迎订阅!
2024-03-26 22:28:11
1549
原创 C#_泛型_委托
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。是一种规范,它允许我们使用占位符来定义类和方法,编译器会在编译时将这些占位符替换为指定的类型,利用泛型的这一特性我们可以定义通用类(泛型类),方法(泛型方法),接口(泛型接口)。2.当委托中没有存储任何方法的时候,执行会报错:未将对象引用设置到对象的实例 ,解决方法—简写为?主页有21天速通C#教程欢迎订阅!1.委托被调用的时候,会执行该委托变量中存储的所有的方法。
2024-03-25 21:56:34
1483
1
原创 深入理解C#中的文件输入输出机制及其应用实践
当我们对文件进行读写操作时,文件会作为“流”来处理,其中,输入流用于从文件读取数据,而输出流则是向文件写入数据。在计算机编程中,文件操作是一项基本且重要的技能,尤其在.NET框架下的C#编程中,System.IO命名空间提供了丰富的类库以实现对文件的各种读写操作。综上所述,C#中的文件输入输出机制不仅提供了强大的文件操作能力,还兼顾了性能优化和安全控制。让我们进一步扩展这篇博客的内容,包括更多的实用类和方法,以及如何处理文件路径、目录操作、缓冲流以及编码相关的注意事项。检索指定目录下的所有文件,或者使用。
2024-03-24 15:34:41
1116
原创 C# 接口_索引器_命名空间
创建一个名为DictionaryWrapper的类,它包装了一个Dictionary对象,并提供了一个索引器,允许我们通过键的部分名称来访问字典中的值。 5.找到对应解决方案中对应的项目文件 “解决方案目录”–> 项目目录–>bin -->Debug —>Next.x —> xxx.dll或者 xxx.exe。3.抽象类的派生类需要使用override去覆写抽象类的抽象成员 接口派生类直接覆写。1.抽象类可以包含非抽象成员 接口只能包含抽象成员(这里的抽象可以理解无实现)
2024-03-22 17:49:09
2574
1
原创 C#_继承_多态_抽象类_虚方法_密封类_静态类
C#是面向对象的编程语言,面向对象编程的四项基本原则:抽象:将实体的相关特性和交互建模为类,以定义系统的抽象表示封装:隐藏对象的内部状态和功能,并仅允许通过一组公共函数进行访问继承:根据现有抽象创建新抽象的能力多形性(多态):跨多个抽象以不同方式实现继承属性或方法的能力。
2024-03-21 19:36:37
1230
1
原创 C#_正则表达式
封装一个类:Aircraft,拥有属性:牌子、型号、颜色、隶属公司、飞行速度、装载人数、飞机类型(大中小(400-200-100)由装载人数自动设置)、当前飞机装载的人数(随机生成)此类设计考虑到一定的简洁和强壮性,但不涉及真实世界中飞行器管理系统的复杂性。在生产环境中,你可能需要更多详细信息、验证和商务规则。正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。访问器以控制如何获取和设置数据。例如,在尝试给出超出航空器承载范围之外旅客数量时抛出异常。
2024-03-20 19:41:08
705
1
原创 C#_类与对象_静态成员
C# 不支持显式地调用析构函数,而是由垃圾回收器(Garbage Collector)负责在对象销毁时自动调用析构函数。垃圾回收器会根据对象的生命周期和内存管理策略来确定何时调用析构函数。主页有C#教程专栏,欢迎订阅!当对象没有被任何变量引用时,会被垃圾回收器回收,此时析构函数会执行。
2024-03-19 20:34:59
398
1
原创 C#集合:从字典到队列——探索数据结构核心
C# 中的集合类(Collection)是专门用于数据存储和检索的类,类中提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类都实现了相同的接口。集合类的用途多种多样,例如可以动态的为元素分配内存、根据索引访问列表项等等,这些类创建 Object 类的对象集合,Object 类是 C# 中所有数据类型的基类。
2024-03-18 17:12:34
1457
原创 本周AI资讯速览_华尔街的AI数字转型_新时代AI诈骗的防卫战
而我们,则可以通过短视频平台不断强化的内容监管,以及深度学习的AI检测工具来做抵御——在这场科技迭代的博弈中,不断完善的反诈技术,是我们屹立不倒的盾牌。一个简单的点击,一个小小的提示词,就能将静止的画面转化为充满生机的视频剧本。这位新上任的AI主管不仅对“数字化的理财管理”拥有深谙,还手握着与OpenAI合作的关键项目——让我们不禁猜想,在这位主管的带领下,摩根士丹利的AI之舟将扬帆向哪片未知的海域。总之,AI所释放的潜能与光芒已点亮了未来的道路,但同样需要我们在照亮前路的同时,保持足够的警觉与智慧。
2024-03-17 15:14:40
922
1
原创 掌握C#: 从基础到精通 - 中级实战练习集
我们精心挑选并设计了10个中级水平的C#练习题,涵盖了异常处理、文件操作、LINQ查询以及类与对象等核心概念。每个人都有独特的学习方式:无论是通过书籍阅读、观看教程视频、还是直接编码实践,最关键的是保持好奇心,并享受探索未知领域所带来的成就感。注释: AppendAllText 方法会自动向文件末尾添加字符串,并且如果目标文件不存在,则创建它。注释: 注意异常处理使得我们能够优雅地处理运行时发生的错误,并保证程序不会在遇到预期内错误时崩溃。创建一个名为“TestFolder”的目录,并检查其是否成功创建。
2024-03-16 17:34:17
719
1
原创 C#常用数据操作方法详解
在这篇文章中,我们将一探究竟,看看如何使用String类、Math类和Array类的一些常用方法来简化我们的代码和提高效率。在C#的储藏室里,集合操作、文件处理、网络服务访问、多线程处理等等方面都有相应的类和方法,可以帮助你的代码更高效、更简洁、也更加强大。版本的不断更新迭代,微软也在不断地增加更多新颖且有帮助的工具和方法来丰富我们的开发工具箱。掌握这些基本工具的同时,随时留意新的变化和添加,将有助于保持你的技能前沿和竞争力。方法允许我们对序列中的每个元素应用一个函数,并返回一个包含结果的新序列。
2024-03-15 19:28:06
2548
1
原创 C# Array(进阶)_Lambda表达式_冒泡排序_集合
C# 中的集合类(Collection)是专门用于数据存储和检索的类,类中提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。在剩下的数当中找最小的与第二个位置的数交换,即顺序放在已排好序的数列的最后,如此循环,直到全部数据元素排完为止。集合类的用途多种多样,例如可以动态的为元素分配内存、根据索引访问列表项等等,这些类创建 Object 类的对象集合,Object 类是 C# 中所有数据类型的基类。3.针对除最后一个元素外的所有元素重复以上的步骤。
2024-03-14 22:18:29
1165
1
原创 C#_Array数组_多维数组_交错数组
交错数组其实就是元素为数组的数组,换句话说就是交错数组中的每个元素都可以是维度和大小不同的数组,所以有时交错数组也被称为“数组的数组”。多维数组(也可称为矩形数组),它可以是二维的,也可以是三维的,多维数组中的数据以类似表格(行、列)的形式存储,因此也被称为矩阵。的形式来访问二维数组中的每个元素,其中 arr 为数组的名称,而 i 和 j 则是数组元素的索引,类似于表格中的行和列。交错数组和多维数组的区别在于,交错数组的每一行的长度可以不同。中的数字就是数组的索引)就可以访问数组中的每个元素。
2024-03-13 21:13:34
735
原创 C# Random随机数_DateTime类_String_API_StringBuilder类
字符串一旦创建就不可修改大小,每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。所以对字符串添加或删除操作不频繁的话,就几个固定的string累加的时候就不需要StringBuilder了,毕竟StringBuilder的初始化也是需要时间的。
2024-03-12 21:59:41
735
1
原创 C# 方法
方法也叫做函数,就是把一系列相关的代码组织(封装)到一起,用于执行一系列的任务的代码块,一个方法分为两部分,方法的定义(声明)和方法的调用(执行)。方法的调用,在方法的名字后面() ,()称之为执行运算符。方法中的代码会在被调用的时候执行,执行完毕之后,继续回到方法调用的位置,继续执行外部的代码Test();
2024-03-11 19:40:18
939
原创 探秘string类型存储的奥秘 !
字符串类型的变量本身可能存储在栈上(如果它是一个局部变量)或静态区(如果它是一个静态变量),但是字符串对象的内容总是存储在托管堆上。字符串常量池是一个优化机制,用来存储字符串字面量,且可以通过调用 String.Intern 方法,在某些场合手动地使字符串成为interned。主页有21天速通C#教程,近期会连载更新,可以订阅追更,或者有什么问题,看法都可以评论留言或者私信我。
2024-03-10 08:15:00
2294
1
原创 本周重要AI资讯速览
腾讯QQ最新推出了一款名为QQ AI聊天搭子的AI聊天机器人,可以和多位名人如马斯克、苏格拉底等进行对话,同时还支持与定制版MBTI性格的AI对话。。这款聊天机器人是由腾讯旗下的混元大模型提供技术支持。腾讯在2023年推出了混元大模型,这也是大模型元年之一。与其他大模型相比,腾讯的优势在于其大量中文语料,并且利用了社交网络的优势来发展多模态能力。最近,腾讯正式发布了类似GPT的QQ AI聊天搭子,用户可以在QQ的侧边栏中找到并选择不同类型的虚拟角色进行聊天。
2024-03-09 17:32:51
868
原创 C# 流程控制语句
为什么要使用终止循环的关键字? 是为了达到性能优化的目的。比如:我们要找到某些数字中第一个满足条件的值,就可以在找到第一个的时候结束循环。
2024-03-07 18:55:02
950
1
原创 C# 运算符和分支结构
表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值。表达式其实就是一个式子:a+b ,true && false。。表达式也是值类型。
2024-03-06 20:12:10
952
原创 C# 数据类型区别和类型转换
性能: 值类型通常有更快的存取速度,因为它们存储在栈上,而非堆上。相比之下,引用类型的数据访问需要通过指针跟踪到堆内存中的对象,这个过程相对较慢。表示: 值类型直接包含数据本身,而引用类型存储的是指向其数据所在堆内存地址的引用。继承: 值类型都继承自System.ValueType,而引用类型都继承自System.Object,这两者定义了.NET中不同数据类型的基本行为。内存管理: 栈上的内存的分配和释放是自动进行的,符合作用域的生命周期。引用类型存储在堆中
2024-03-05 19:36:36
813
原创 C# 数据类型
如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。苹果的个数、头发的长度、眼睛的颜色、大象的重量、现在的季节、现在的天气、手指的个数、空调的温度、现在放学没有、明天下雨不下、水的重量、鞋的码数、女朋友的名字、有没有女朋友、餐厅名字、学生的学号、电话号码、一句话。object是所有类型的父类型,也就是说,object可以存储任意的数据类型,对象是C#中所有数据类型的终极基类(父类),所以对象类型可以存储任意类型的数据, 可以理解为:object表示为任意类型。值类型直接包含数据。
2024-03-04 21:57:11
717
空空如也
单片机的电源电路设计,JI和SW1
2024-05-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人