- 博客(50)
- 收藏
- 关注
原创 通信模块:手动释放被占用端口
结果中最后一列数字为PID(进程ID) ,打开任务管理器,找到对应PID右键结束任务,结束进程即可释放端口。一开始写的通信模块没有加窗体关闭后自动释放的代码,所以需要手动释放端口,不然这个端口会显示一直被占用。打开命令提示符win+r ,cmd(管理员权限),如果端口号是8193,输入代码。
2025-03-26 15:46:57
182
原创 VS2022——WPF初始化和控件Nmae虚假报错
控件是有的,Name也没错,这种情况下运行一下,确定代码没问题的话就重启VS2022,报错自然会消失。怀疑是打开太快出现的bug。
2025-01-16 08:45:13
451
原创 c#-Halcon入门教程——标定
在排序后的区域中找到最小的外接圆,这里我们假设这是我们要标记的目标圆形区域。函数将灰度图像转换为二值图像,通过设定一个阈值来区分前景和背景。获取图像的宽度和高度,这对于后续设置显示窗口和计算等很有用。使用圆形结构元素对图像进行形态学开运算,可以去除小的噪声点。用于设置显示窗口的显示范围,这里设置为整个图像的大小。根据指定的形状特征(这里是面积)选择满足条件的区域。函数用于填充二值图像中的空洞,使前景区域更完整。生成一个十字标记,用于标记找到的圆心位置。用于在HALCON的图形窗口中显示图像。
2025-01-14 15:05:57
440
原创 Yolov8全教程第一步 —— 制作数据集
至此数据集制作完成,只需要训练就行了,后续如果有变化或者改进会回头修改,持续更新。二、把数据集voc格式的xml标注文件转换为yolo格式的txt文件。一、划分数据集,要修改的位置看注释即可,python文件。用labelImg软件,创建四个文件夹。一样,修改位置看注释。
2025-01-10 10:54:29
249
原创 c# VS2022安装教程
换了部电脑,重新安装vs2022,做个记录给自己以后方便看。重点是勾选和更改安装位置,不想放在C盘可以跟我一样,只把C换成E就行,其余的路径不要变,不然后续会影响使用,然后点击安装就行。
2024-12-27 16:31:47
927
原创 VisionMaster二次开发-计数
一个产品按顺序检测三个部位,走三次流程后,总数才算一个产品,每个部位一旦有ng,总数和ok数+1,最后一个部位ok后,总数和ok数+1。不用vm,直接在每次运行后做计数。
2024-12-17 16:52:45
269
原创 VisionMaster二次开发-获取全局变量
GlobalVariableModuleCs.GlobalVariableModuleTool类 ,继承自 VmModule ,用于操作和管理全局变量。
2024-09-04 15:34:39
615
原创 Gitee使用教程2-克隆仓库(下载项目)并推送更新项目
下载好后,找不到文件在哪的可以输入 pwd 找到仓库路径。b. 添加所有的更改,包括新文件。ps:这里我的主分支名是。,如果是其他分支名,比如。,就替换为正确的分支名。
2024-07-18 10:44:29
886
原创 Gitee 使用教程1-SSH 公钥设置
由于目标主机(gitee.com)的公钥(public key)还没有在我们的系统中记录,第一次连接会有安全警告,输入。,添加生成的 public key 添加到当前账户中(自命名公钥标题,复制的公钥粘贴在公钥区)文件中,这样下次连接到同一个主机时不会再显示这个警告。表示信任并继续连接,同时将这个公钥记录到系统的。输出:Hi 你的用户名!随后摁三次回车键(Enter)
2024-07-18 10:09:29
2493
原创 c#入门详解:接口详解
接口即契约(contract)契约使自由合作成为可能,所谓自由合作就是一份合同摆在这里,它即约束服务的使用者也约束服务的提供者。如果该契约的使用者和提供者有多个,它们之间还能自由组合
2024-05-31 16:33:16
1162
1
原创 c#入门详解:抽象类、开闭原则和接口入门
● 软件也是工业的分支,设计严谨的软件必须经得起测试。● 软件能不能测试、测试出问题后好不好修复、软件整体运行状态好不好监控,都依赖于对接口和抽象类的使用。● 接口和抽象类是现代面向对象的基石,也是高阶面向对象程序设计的起点。● 学习设计模式的前提: a. 透彻理解并熟练使用接口和抽象类 b. 深入理解 SOLID 设计原则,并在日常工作中自觉得使用它们
2024-05-31 15:50:51
634
原创 MySQL存储过程浅析
存储过程是一组为了完成特定功能的SQL语句,是由一些SQL语句组成的代码块,这些代码块像方法一样实现一些功能(对单表或多表的增删改查),然后给代码块起一个名字,用到的时候再调用它。存储过程具有输入参数、输出参数和输入/输出参数,可以在数据库服务器上执行。
2024-05-24 17:27:37
430
原创 c#教程——索引器
索引器(Indexer)可以像操作数组一样来访问对象的元素。它允许你使用索引来访问对象中的元素,就像使用数组索引一样。在C#中,索引器的定义方式类似于属性,但具有类似数组的访问方式。类中定义一个索引器,可以使用整数索引来访问其中的元素。代码中体会更容易理解。的方式来访问其中的元素。这时候就可以使用索引器。创建一个项目,创建一个MyCollection类。
2024-05-07 16:18:57
456
原创 YOLOV8实战教程——最新安装(截至24.4)
前言:YOLOV8更新比较快,最近用的时候发现有些地方已经跟之前不一样,甚至安装都会出现坑,所以做一个最新版的 yolov8 安装教程。
2024-04-11 10:19:26
1118
原创 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
533
原创 RobotFramework教程1——安装(避坑版)
网上有很多资料,但是我感觉还是不够详细,中间有许多坑还是没有说得详细,所以做一个安装避坑指南,如果遇到其他问题,欢迎互相讨论,我继续完善文章,后续有时间就继续更。,rf 最新是7.0版本,但是 ride 没有完成对rf的全面支持升级,最新版本运行时会报错。1、在桌面空白处右键新建快捷方式,一般命名为 ride。2、选择python.exe的位置,并在后面加上。一、python环境并配置环境(略)我的python版本是3.10。3、命名后如图,点击即可运行。没有代理就加个镜像源。
2024-04-10 11:52:28
685
原创 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
574
原创 实现西门子博图TIA与OPC通信(CIA16+KEPServerEX 6 )
S7-PLCSIM Advanced V3.0 无法启动实例( Error Code:-30,LicenseNotFound)找了很多资料,有许多是跑不通的,爬了很多坑终于跑通了,过程不详细描述,直接看文章跑即可,将我找到的有用的资料结合一起看。winpcap无法安装提示新版本已经安装解决办法(我使用的第二种方法解决,其余方法没试过)爬坑期间下载的软件(软件包是同事给的,就不方便给资源给大家了,优快云的安装文章也挺多的)
2024-03-25 10:25:59
1070
原创 linux学习:验证 Nginx 与 PHP 的联动性
验证 Nginx 与 PHP 的联动性,主要包括编辑 Nginx 的配置文件以使其能够处理 PHP 脚本的请求。这个命令会重新加载 Nginx 的配置文件,使配置更改生效,而不会中断正在处理的请求。文件,可以确定在默认的 Nginx 项目路径下是否存在 PHP 文件。浏览器中输入linux的ip+/idex.php 验证,画面如下。选项是一个信号标志,用于向 Nginx 主进程发送信号,使用 vi 编辑器打开 Nginx 的默认配置文件。这个命令用于重新加载 Nginx 的配置文件。目录下的文件和目录。
2024-03-13 14:13:43
481
原创 在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
708
原创 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
799
原创 c#-对象的txt保存、序列化和反序列化
实现对象的保存、读取文本文件、二进制序列化和反序列化。通过这些实例,我们能够深入了解如何将对象的属性信息以不同的方式进行持久化,并在需要时再次还原,从而提高数据的可管理性和可维护性。
2023-12-21 16:54:58
722
原创 c#-OpenCvSharp——阈值化、自适应阈值详解(附源码)
这是一个用于将像素值分为两个区域的数值。当像素值大于阈值时,将其设置为的值。通常,这是一个较大的值,例如255。在二进制阈值化中,大于阈值的像素值将被设置为。块的大小决定了计算每个像素的局部阈值时使用的像素邻域。从计算的局部阈值中减去的常量。该常量用于调整阈值的大小,可以为正数或负数。函数将计算的阈值应用于输入图像的每个像素,并将结果存储在输出图像。阈值化的类型,是一个枚举值,用于指定阈值化的具体方式。阈值化的类型,是一个枚举值,用于指定阈值化的具体方式。,而小于等于阈值的像素值将被设置为0。
2023-12-06 08:33:03
681
原创 c#-OpenCvSharp-棋盘格相机标定与图像矫正(源码demo)
相机标定是指确定相机内参和畸变参数的过程,而图像矫正则是对图像进行去畸变操作,以提高图像质量和准确性。相机标定是的目标是确定相机的内部参数,如焦距、主点坐标,以及外部参数,如旋转和平移矩阵。通过在已知场景中拍摄棋盘格等结构物体,利用图像中的特征点,可以利用相机标定技术得到相机的准确内外参数,从而提高图像处理的精度和可靠性。图像矫正是在相机标定的基础上进行的。由于相机透镜的制造和安装等原因,图像中的畸变是不可避免的。这种畸变表现为图像中直线弯曲、角点失真等现象。
2023-11-22 08:53:54
3314
8
原创 c#-OpenCvSharp-版本冲突问题解决
最近在复现代码时总容易遇到System.Drawing.Common和System.Drawing有冲突,以及Bitmap隐形转换问题。发现大佬们的版本配置,于是抄作业,解决问题。该套版本匹配兼容度高,能解决我目前遇到的opencvsharp版本冲突问题。
2023-11-15 13:39:46
796
原创 c#-OpenCvSharp-SURF/SIFT特征匹配(附源码)
SURF(Speeded Up Robust Features)是一种用于特征检测和图像匹配的算法,其主要特点是在提供良好特征匹配性能的同时,具有高速性和对图像变换的鲁棒性。
2023-11-02 16:12:23
1793
原创 C#-OpenCvSharp-霍夫变换检测圆(附源码)
是 OpenCvSharp 中用于检测图像中的圆的方法。它基于霍夫变换(Hough Transform)来识别图像中的圆。():要检测圆的输入图像。通常应该是单通道灰度图像。:霍夫变换的方法。通常使用,这是基于梯度的方法,适用于大多数情况。double dp:累加器分辨率与图像分辨率的倒数之比。一般设置为 1,表示与输入图像具有相同的分辨率。:检测到的圆之间的最小距离。这个参数可以用来控制是否合并接近的圆。通常,你可以根据你的应用来调整这个值。:Canny 边缘检测的第一个阈值。
2023-10-10 16:19:32
1654
1
原创 c#-文本替换(附源码)
实现了一个简单的文本替换应用程序的功能,用户可以通过该程序选择一个文本文件,然后输入要查找和替换的文本,最后执行查找和替换操作
2023-09-22 11:55:36
560
1
原创 c#OpenCvSharp-模板匹配2.0(源码应用)
通过在输入图像中滑动模板图像并计算每个位置的匹配度来查找模板的位置。匹配度通常使用平方差或相关性等指标来度量,具体取决于所选择的匹配方法。
2023-09-15 15:41:07
1169
1
原创 OpenCvSharp-图像分割Grabcuts算法、检测轮廓及目标面积(源码)
将输入图像分割成前景和背景,检测目标区域的轮廓,计算轮廓整体面积
2023-08-30 11:24:02
775
原创 OpenCvSharp-轮廓形状匹配/模板查找1.0(附源码)
轮廓匹配是一种计算机视觉技术,用于在图像中查找和比较目标轮廓与待匹配轮廓之间的相似度读取模板图像和测试图像。创建存储灰度模板和测试图像的变量grayTemp和grayTest。将图像转换为灰度图像。对模板图像和测试图像进行二值化处理,将图像中的轮廓区域分割出来。定义存储轮廓结果和拓扑结构的变量contours和hierarchy。使用在模板图像中查找轮廓,存储在contours中,同时也获取轮廓的拓扑结构。遍历contours。
2023-08-25 14:18:57
5593
1
原创 OpenCvSharp——高斯/均值滤波、腐蚀与膨胀、开/闭运算(附源码)
膨胀(Dilation):形态学操作,用于扩展图像中的亮区域(像素值较大的区域)。它的原理是在图像上滑动结构元素,将结构元素覆盖区域内的像素设置为最大像素值。膨胀操作可以增加亮区域的大小,填充小的空洞,以及连接相邻的区域。腐蚀(Erosion):形态学操作,用于缩小图像中的亮区域,同时扩展暗区域(像素值较小的区域)。原理是在图像上滑动结构元素,将结构元素覆盖区域内的像素设置为最小像素值。腐蚀操作可以消除小的噪声、分割相连的区域,并改变区域的形状。
2023-08-23 14:55:47
1428
原创 c#-OpenCvSharp-roi区域(截取和掩码)附源码
仅在鼠标移动事件中加入掩码操作,感觉代码还有优化的地方,后面会回头继续优化。各位读者有对代码进行优化的话可以联系我,一起交流学习,作为初学者,我还要很多需要学习的地方。根据前两篇博客roi截图和掩码操作进行总结优化,涉及到的知识点讲解都在两篇文章中,这里不多加赘述,该文章仅作为总结。
2023-08-02 15:59:08
2204
原创 c#-OpenCvSharp-掩码操作(附源码)
掩码操作是指在图像处理过程中,根据掩码的像素值来控制图像的处理或选取感兴趣的区域。在掩码操作中,对于掩码中像素值为非零的位置,对应原始图像中的像素将被处理或选取,而对于掩码中像素值为零的位置,对应原始图像中的像素将被忽略或遮蔽。
2023-08-01 17:16:26
1681
1
原创 OpenCvSharp-鼠标框选截取感兴趣区域(ROI)-附源代码
ROI(Region of Interest)是图像处理中的一个重要概念,指的是图像中感兴趣的区域。在这个区域内,我们通常希望执行某种特定的操作、获取特定信息,或者进行进一步的分析。ROI 可以是图像的一个矩形、圆形、多边形或者其他各种形状。
2023-07-27 17:34:28
4207
2
c#-对象的txt保存、序列化和反序列化
2023-12-21
c#-文本替换winform,写的一个简单的入门文本替换小程序,可以用来熟悉一下文本替换,也可以做一些升级优化添加功能
2023-09-22
c#深度学习-PaddleOCRSharp数字识别demo
2023-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人