- 博客(54)
- 收藏
- 关注
原创 c#入门详解(刘铁锰)06 - 数据持久化:TXT文本保存、序列化与反序列化(附详细源码)
本文介绍了C#中实现数据持久化的三种方法:文本文件保存、JSON序列化和XML序列化。通过车辆生产管理案例,详细展示了每种方法的实现步骤,包括数据模型定义、文件读写操作和异常处理。重点推荐使用System.Text.Json进行JSON序列化,相比过时的BinaryFormatter更安全可靠。文本文件适合简单数据但易出错,JSON格式通用且可读性强,XML则适用于需要严格数据结构的场景。三种方法各有优缺点,开发者可根据具体需求选择合适的数据持久化方案。
2025-10-22 16:50:24
949
原创 c#入门详解(刘铁猛)04—字段、属性详解
文章摘要:本文介绍了面向对象编程中字段与属性的概念及用法。字段分为实例字段和静态字段,可通过readonly和const实现只读;属性是字段的扩展,提供更灵活的数据访问方式,包括完整声明、简略声明和动态计算属性。建议使用属性而非直接暴露字段来保护数据安全。两者都用于表示对象状态,但属性更推荐作为数据暴露的接口。
2025-10-13 11:41:27
651
原创 C盘内存不足,清除或转移VS2022缓存文件Cache
VS2022缓存文件占用C盘空间,可通过创建符号链接转移至D盘解决。具体步骤:先剪切Cache文件夹内容到D盘新目录,删除原Cache后,用管理员命令mklink/D创建符号链接。此方法既保留缓存功能又释放C盘空间,比直接删除更稳妥。注意路径需根据实际情况修改,操作前确保原Cache文件夹已清空。
2025-09-26 11:31:13
898
原创 通信模块:手动释放被占用端口
结果中最后一列数字为PID(进程ID) ,打开任务管理器,找到对应PID右键结束任务,结束进程即可释放端口。一开始写的通信模块没有加窗体关闭后自动释放的代码,所以需要手动释放端口,不然这个端口会显示一直被占用。打开命令提示符win+r ,cmd(管理员权限),如果端口号是8193,输入代码。
2025-03-26 15:46:57
260
原创 VS2022——WPF初始化和控件Nmae虚假报错
控件是有的,Name也没错,这种情况下运行一下,确定代码没问题的话就重启VS2022,报错自然会消失。怀疑是打开太快出现的bug。
2025-01-16 08:45:13
567
原创 c#-Halcon入门教程——标定
在排序后的区域中找到最小的外接圆,这里我们假设这是我们要标记的目标圆形区域。函数将灰度图像转换为二值图像,通过设定一个阈值来区分前景和背景。获取图像的宽度和高度,这对于后续设置显示窗口和计算等很有用。使用圆形结构元素对图像进行形态学开运算,可以去除小的噪声点。用于设置显示窗口的显示范围,这里设置为整个图像的大小。根据指定的形状特征(这里是面积)选择满足条件的区域。函数用于填充二值图像中的空洞,使前景区域更完整。生成一个十字标记,用于标记找到的圆心位置。用于在HALCON的图形窗口中显示图像。
2025-01-14 15:05:57
682
原创 Yolov8全教程第一步 —— 制作数据集
至此数据集制作完成,只需要训练就行了,后续如果有变化或者改进会回头修改,持续更新。二、把数据集voc格式的xml标注文件转换为yolo格式的txt文件。一、划分数据集,要修改的位置看注释即可,python文件。用labelImg软件,创建四个文件夹。一样,修改位置看注释。
2025-01-10 10:54:29
385
原创 c# VS2022安装教程
换了部电脑,重新安装vs2022,做个记录给自己以后方便看。重点是勾选和更改安装位置,不想放在C盘可以跟我一样,只把C换成E就行,其余的路径不要变,不然后续会影响使用,然后点击安装就行。
2024-12-27 16:31:47
2188
原创 VisionMaster二次开发-计数
一个产品按顺序检测三个部位,走三次流程后,总数才算一个产品,每个部位一旦有ng,总数和ok数+1,最后一个部位ok后,总数和ok数+1。不用vm,直接在每次运行后做计数。
2024-12-17 16:52:45
440
原创 VisionMaster二次开发-获取全局变量
GlobalVariableModuleCs.GlobalVariableModuleTool类 ,继承自 VmModule ,用于操作和管理全局变量。
2024-09-04 15:34:39
1310
1
原创 Gitee使用教程2-克隆仓库(下载项目)并推送更新项目
Gitee仓库操作指南:1.下载仓库:复制代码后在GitBash运行,使用pwd查看路径;2.推送更新:cd进入仓库后,用git add添加文件(单个或全部),git commit提交更改,git push推送到远程仓库(注意分支名,可用git branch查看当前分支)
2024-07-18 10:44:29
1192
原创 Gitee 使用教程1-SSH 公钥设置
本文介绍了生成和配置SSH公钥的步骤:1)使用终端运行ssh-keygen命令生成密钥对;2)查看并获取公钥内容;3)在代码托管平台账户中添加公钥;4)通过ssh命令测试连接,首次连接需确认主机信任。成功后会显示用户名提示。整个过程涉及密钥生成、平台配置和连接验证三个主要环节。
2024-07-18 10:09:29
3255
3
原创 c#入门详解(刘铁锰):接口详解
接口即契约(contract)契约使自由合作成为可能,所谓自由合作就是一份合同摆在这里,它即约束服务的使用者也约束服务的提供者。如果该契约的使用者和提供者有多个,它们之间还能自由组合
2024-05-31 16:33:16
1321
1
原创 c#入门详解(刘铁锰):高级语法01-抽象类、开闭原则详解和接口入门
面试经典提问:描述接口和抽象类的区别,以及它们用法的不同?接口和抽象类是现代面向对象的基石,也是高阶面向对象程序设计的起点。
2024-05-31 15:50:51
700
原创 MySQL存储过程浅析
存储过程是一组为了完成特定功能的SQL语句,是由一些SQL语句组成的代码块,这些代码块像方法一样实现一些功能(对单表或多表的增删改查),然后给代码块起一个名字,用到的时候再调用它。存储过程具有输入参数、输出参数和输入/输出参数,可以在数据库服务器上执行。
2024-05-24 17:27:37
462
原创 c#入门详解(刘铁锰)3—索引器详解
索引器(Indexer)可以像操作数组一样来访问对象的元素。它允许你使用索引来访问对象中的元素,就像使用数组索引一样。在C#中,索引器的定义方式类似于属性,但具有类似数组的访问方式。类中定义一个索引器,可以使用整数索引来访问其中的元素。代码中体会更容易理解。的方式来访问其中的元素。这时候就可以使用索引器。创建一个项目,创建一个MyCollection类。
2024-05-07 16:18:57
507
原创 YOLOV8实战教程——最新安装(截至24.4)
前言:YOLOV8更新比较快,最近用的时候发现有些地方已经跟之前不一样,甚至安装都会出现坑,所以做一个最新版的 yolov8 安装教程。
2024-04-11 10:19:26
1349
原创 RobotFramework教程2——第一个例子(hello world)
二、在 Test Suites 区右键刚刚创建的文件夹,点击 New Suite 创建测试套件(用于承载测试用例),文件格式选择 File。前言:安装好RF框架后,我们现在开始创建并执行我们的第一个测试用例,第一个例子当然是用入门经典“hello world”啦!b.进入你python.exe 的同级目录 Scipts ,选择robot.exe ,最后再次点击运行。1、点击 New Project ,命名并且选择格式 Directory 创建工程文件夹。1、右键测试套件,点击 创建测试用例。
2024-04-10 21:56:07
639
原创 RobotFramework教程1——安装(避坑版)
网上有很多资料,但是我感觉还是不够详细,中间有许多坑还是没有说得详细,所以做一个安装避坑指南,如果遇到其他问题,欢迎互相讨论,我继续完善文章,后续有时间就继续更。,rf 最新是7.0版本,但是 ride 没有完成对rf的全面支持升级,最新版本运行时会报错。1、在桌面空白处右键新建快捷方式,一般命名为 ride。2、选择python.exe的位置,并在后面加上。一、python环境并配置环境(略)我的python版本是3.10。3、命名后如图,点击即可运行。没有代理就加个镜像源。
2024-04-10 11:52:28
846
原创 pytorch+yolov5——训练报错AttributeError: ‘FreeTypeFont‘ object has no attribute ‘getsize‘(已解决)
训练时报错:AttributeError: 'FreeTypeFont' object has no attribute 'getsize'2、重新下载Pillow 9.5.0版本(关掉代理,不然会报网络连接错误)原因:Pillow 10 以上的版本删除了。环境:pytorch 2.2.1。
2024-04-09 17:02:09
670
原创 实现西门子博图TIA与OPC通信(CIA16+KEPServerEX 6 )
S7-PLCSIM Advanced V3.0 无法启动实例( Error Code:-30,LicenseNotFound)找了很多资料,有许多是跑不通的,爬了很多坑终于跑通了,过程不详细描述,直接看文章跑即可,将我找到的有用的资料结合一起看。winpcap无法安装提示新版本已经安装解决办法(我使用的第二种方法解决,其余方法没试过)爬坑期间下载的软件(软件包是同事给的,就不方便给资源给大家了,优快云的安装文章也挺多的)
2024-03-25 10:25:59
1470
原创 linux学习:验证 Nginx 与 PHP 的联动性
验证 Nginx 与 PHP 的联动性,主要包括编辑 Nginx 的配置文件以使其能够处理 PHP 脚本的请求。这个命令会重新加载 Nginx 的配置文件,使配置更改生效,而不会中断正在处理的请求。文件,可以确定在默认的 Nginx 项目路径下是否存在 PHP 文件。浏览器中输入linux的ip+/idex.php 验证,画面如下。选项是一个信号标志,用于向 Nginx 主进程发送信号,使用 vi 编辑器打开 Nginx 的默认配置文件。这个命令用于重新加载 Nginx 的配置文件。目录下的文件和目录。
2024-03-13 14:13:43
619
原创 在CentOS7系统上安装php7.0
PHP-FPM(FastCGI Process Manager)和 OpCache 扩展,PHP-FPM 提供了一种更高效的 PHP 进程管理方式,可以有效控制内存和进程,并允许平滑重载 PHP 配置。这个命令安装了 PHP 7.0 的基本组件,包括 CLI、Common、LDAP、mbstring、mcrypt、MySQL、PDO、GD 和 MySQLi 等组件。在 CentOS 7 系统上添加 PHP 软件源并安装 PHP 及其相关组件、PHP-FPM 以及配置 PHP-FPM 服务的步骤。
2024-03-13 13:49:07
1040
原创 yolov5预测报错:AttributeError: ‘FreeTypeFont‘ object has no attribute ‘getsize‘(已解决)
报错:AttributeError: ‘FreeTypeFont‘ object has no attribute ‘getsize‘yolov5训练正常,运行var.py时报错,问人工智障GPT搞了半天解决不了。后来搜索发现其实是“pillow”库版本过高了,有冲突。两行命令,切记要先卸载再安装!用的国内源,记得把魔法关掉!最后安装成功,重新运行var.py,成功!可以现在命令行中查看自己的版本号是多少。先执行卸载,再安装即可。
2024-02-28 17:09:51
890
原创 c#-对象的txt保存、序列化和反序列化
实现对象的保存、读取文本文件、二进制序列化和反序列化。通过这些实例,我们能够深入了解如何将对象的属性信息以不同的方式进行持久化,并在需要时再次还原,从而提高数据的可管理性和可维护性。
2023-12-21 16:54:58
836
原创 c#-OpenCvSharp——阈值化、自适应阈值详解(附源码)
这是一个用于将像素值分为两个区域的数值。当像素值大于阈值时,将其设置为的值。通常,这是一个较大的值,例如255。在二进制阈值化中,大于阈值的像素值将被设置为。块的大小决定了计算每个像素的局部阈值时使用的像素邻域。从计算的局部阈值中减去的常量。该常量用于调整阈值的大小,可以为正数或负数。函数将计算的阈值应用于输入图像的每个像素,并将结果存储在输出图像。阈值化的类型,是一个枚举值,用于指定阈值化的具体方式。阈值化的类型,是一个枚举值,用于指定阈值化的具体方式。,而小于等于阈值的像素值将被设置为0。
2023-12-06 08:33:03
1260
原创 c#-OpenCvSharp-棋盘格相机标定与图像矫正(源码demo)
相机标定是指确定相机内参和畸变参数的过程,而图像矫正则是对图像进行去畸变操作,以提高图像质量和准确性。相机标定是的目标是确定相机的内部参数,如焦距、主点坐标,以及外部参数,如旋转和平移矩阵。通过在已知场景中拍摄棋盘格等结构物体,利用图像中的特征点,可以利用相机标定技术得到相机的准确内外参数,从而提高图像处理的精度和可靠性。图像矫正是在相机标定的基础上进行的。由于相机透镜的制造和安装等原因,图像中的畸变是不可避免的。这种畸变表现为图像中直线弯曲、角点失真等现象。
2023-11-22 08:53:54
4289
8
原创 c#-OpenCvSharp-版本冲突问题解决
最近在复现代码时总容易遇到System.Drawing.Common和System.Drawing有冲突,以及Bitmap隐形转换问题。发现大佬们的版本配置,于是抄作业,解决问题。该套版本匹配兼容度高,能解决我目前遇到的opencvsharp版本冲突问题。
2023-11-15 13:39:46
1050
原创 c#-OpenCvSharp-SURF/SIFT特征匹配(附源码)
SURF(Speeded Up Robust Features)是一种用于特征检测和图像匹配的算法,其主要特点是在提供良好特征匹配性能的同时,具有高速性和对图像变换的鲁棒性。
2023-11-02 16:12:23
2363
原创 C#-OpenCvSharp-霍夫变换检测圆(附源码)
是 OpenCvSharp 中用于检测图像中的圆的方法。它基于霍夫变换(Hough Transform)来识别图像中的圆。():要检测圆的输入图像。通常应该是单通道灰度图像。:霍夫变换的方法。通常使用,这是基于梯度的方法,适用于大多数情况。double dp:累加器分辨率与图像分辨率的倒数之比。一般设置为 1,表示与输入图像具有相同的分辨率。:检测到的圆之间的最小距离。这个参数可以用来控制是否合并接近的圆。通常,你可以根据你的应用来调整这个值。:Canny 边缘检测的第一个阈值。
2023-10-10 16:19:32
2036
1
原创 c#入门详解(刘铁猛)05-文本替换操作实战(附源码)
实现了一个简单的文本替换应用程序的功能,用户可以通过该程序选择一个文本文件,然后输入要查找和替换的文本,最后执行查找和替换操作
2023-09-22 11:55:36
661
1
原创 c#OpenCvSharp-模板匹配2.0(源码应用)
通过在输入图像中滑动模板图像并计算每个位置的匹配度来查找模板的位置。匹配度通常使用平方差或相关性等指标来度量,具体取决于所选择的匹配方法。
2023-09-15 15:41:07
1481
1
原创 OpenCvSharp-图像分割Grabcuts算法、检测轮廓及目标面积(源码)
将输入图像分割成前景和背景,检测目标区域的轮廓,计算轮廓整体面积
2023-08-30 11:24:02
920
原创 OpenCvSharp-轮廓形状匹配/模板查找1.0(附源码)
轮廓匹配是一种计算机视觉技术,用于在图像中查找和比较目标轮廓与待匹配轮廓之间的相似度读取模板图像和测试图像。创建存储灰度模板和测试图像的变量grayTemp和grayTest。将图像转换为灰度图像。对模板图像和测试图像进行二值化处理,将图像中的轮廓区域分割出来。定义存储轮廓结果和拓扑结构的变量contours和hierarchy。使用在模板图像中查找轮廓,存储在contours中,同时也获取轮廓的拓扑结构。遍历contours。
2023-08-25 14:18:57
6210
1
c#-对象的txt保存、序列化和反序列化
2023-12-21
c#-文本替换winform,写的一个简单的入门文本替换小程序,可以用来熟悉一下文本替换,也可以做一些升级优化添加功能
2023-09-22
c#深度学习-PaddleOCRSharp数字识别demo
2023-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅