- 博客(62)
- 收藏
- 关注
原创 Halcon 霍夫变换
参数3 筛选的条件,如果写多个筛选条件['area(面积)','contlength(周长)']参数5 DistGap:定义Hough图像中的点的邻域范围,从而确定局部最大值。参数2 角度迭代 每隔4度采样一次,值越小 检测越精确,耗时越长,建议1-10。参数4 定义Hough图像中的点的邻域范围,从而确定局部最大值。参数6 输出值 检测到线的法向量的绝对,与x轴角度。图像分割的操作,根据最小值和最大值提取范围内的区域。参数3 参数4 裁剪的起始点坐标。参数5 参数6 裁剪的结束点做包。
2025-05-27 20:59:03
641
原创 halcon高斯滤波
参数4 高斯滤波器旋转角度 0指的不旋转(建议值:0.0、0.523599、0.785398、1.047198、1.570796、2.094395、2.356194、2.617994、3.141593)参数6 滤波器的类型 'dc_center'直流分量位置在中心'dc_edge' 默认值:直流分量位置在边缘\ 'rft' 生成一个空域的图片 形状是仿射矩形。注:(如果参数2 参数3 值较大的时候会产生更宽的滤波效果,用于更强烈的平滑图像)参数4 矫正因子:1直接输出,0.5将差值缩小一半,2增强差值。
2025-05-27 20:40:10
713
原创 Halcon 图像预处理②
简介:主要目的是消除椒盐噪声:中值滤波的原理与均值滤波相似,不同的是,它以像素为中心,取一个指定形状的邻域作为滤波器,该形状可以是正方形,也可以是圆形,然后将该区域内的像素灰度值进行排序,以排序结果的中间值作为灰度计算结果赋值给该区域内的像素。均值滤波的原理就是将像素灰度值与其邻域内的像素灰度值相加取平均值,该滤波器区域就如同一个小的“窗口”,在图像上从左上角开始滑动,将该“窗口”内的像素灰度值相加并取平均值,然后将该灰度值赋值给“窗口”中的中心像素。均值滤波优点:对图像内部的噪声及模糊图像有很好的作用。
2025-05-26 20:52:15
1114
原创 halcon 图像预处理
简介:指的是将图像的亮度或颜色值从一个范围映射到另一个范围的过程,这个过程可以通过一系列的线性变换来实现,每个变换段可以独立控制(例如:可以将较暗的区域映射到中间亮度,而将较亮的区域映射到更高亮度从而调整图像的整体对比度)简介:图像增强有目的的强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同特征之间的差别,抑制不感兴趣特征,改善图像质量,丰富信息量,满足分析需要。参数3:0 默认情况下计算所有像素的最大值和最小值 例如:5: 相当于5%的比例,\。
2025-05-26 19:59:47
419
原创 halcon 连接相机
点击’连接‘,后点击’实时‘,图形窗口会实时显示。进入相机界面,点击’自动检测接口。点击'助手'→打开新的。点击’插入代码‘即可。
2025-05-23 19:27:11
581
原创 halcon初始
red_image 算子是加载图片的,参数1是输出参数代表图片,参数2是图片路径(可使用绝对路径和相对路径)若打开算子窗口双击'read_image'则会展示算子编辑,可在算子窗口直接更改数据。参数3 过滤的特征 参数4 and 并且 参数5,6 特征范围。参数3 分割的灰度值最小范围 参数4 分割灰度值的最大范围。参数1 想要分割的图片名 参数2 分割斑点之后的图片名。参数1 要筛选的集合 参数2 过滤之后的集合。参数1 输入图像名 参数2 输出图像名。编辑语言中函数,方法。
2025-05-23 16:07:52
378
原创 C# 通信NModbus4读写(Modbus Poll模拟工具)
在启动时创建自身ip: 参数1“127.0.0.1”是自身ip 参数2:"502"是端口号,后用Modbus创建自身ip。把Connection下拉框设置成“Modbus TCP/IP”,点击OK。参数2是0x30是位置,30是16进制(写入的话会转成十进制位置就在48)参数3是ushort数组写入的数据会排序写入到NModbus里面。参数2:0x04从第四个数据开始读,参数3:3是读取三个。右键项目引用,点击管理NuGet程序包;写入多个寄存器:参数1从站地址,参数的话跟多个写入一样。
2025-03-28 16:44:04
605
原创 VisionPro(CogCreateGraphicLabelTool)读取(CogCaliperTool)Width数据
④双击打开CogCreateGraphicLabelTool,点击选择器的下拉框选择Formatted。选LastRun.Input Image可以直接查看倒数数据位置。注:D是InputDouble的缩写,F1是后面保留几位小数。①首先你的CogCaliperTool拥有‘测量宽度’③把宽度导入label的InputDouble里面。⑤文本输入 [D:F1]即可显示导入的数据。注:悬停时会显示宽度数据。
2024-10-17 16:10:13
814
1
原创 C# 7.表格 dataGridView
"男" : "女";"男" : "女",Name = "女朋友" + i + "号",s1.Name = "女朋友" + i + "号";s1.Job = "开挖掘机";添加 页眉文本更改名称;类型可以设置表格类型。Job = "开挖掘机",工具箱使用dataGridView(表格)作业表格展示学生三门成绩 最后展示总成绩。右键属性 找到Columns(集合)
2024-07-30 20:54:35
673
原创 C# 西门子Seven读取,写入数据
1.plc存储区 2 数据存储在哪个地址上 M区:00 03 20 3 读取数据的长度。if (socket.Connected) // 链接成功。0x10 代表双边通信 0x00机架号和插槽号。1字节从该字节往后字节个数 十进制是17。④0x82 Q 输出存储空间。1字节版本号 默认是03。①0x83 M存储区间。③0x81 I存储空间。1字节 保留值 默认0。2字节 报文的总长度。
2024-07-29 21:24:49
791
原创 C# 6.定时器 timer
label1.Text = now.ToString("F") 显示。开启定时器:timer1.Start();Interva等于1000是每一秒刷新一次。关闭定时器:timer1.Stop();定时间时间间隔:Interval。定时器默认时间间隔是100ms。
2024-07-29 21:24:39
937
1
原创 C# 5.下拉框comboBox
练习 用两个输入框(textbox) 一个comboBox 后面两个label。DisplayMember 展示成员list集合对象哪个属性。切换下拉框更改的方法, 把下拉框赋值给label。全局列表类 List<Stu> lsit。s1.Name =i + "号";目的:更改textBox 文本会跟着更变。下拉框comboBox,文本label。DataSource 数据源。comboBox添加数据。
2024-07-25 20:04:13
604
原创 C# Nmodbus,EasyModbusTCP读写操作
RTU报文: 01 03 00 00 00 01 084 0A。全局变量:ModbusClient client;读取保存寄存器数据,返回类型ushort[] 列表。参数 1.设备地址 2.起始地址 3.写入数据。参数1.设备地址 2.起始地址 3.数量。参数1.地址 2.写入位置 3.写入数据。采用的nmdbus4实现ascii协议。参数1.寄存器起始地址2.寄存器个数。参数1.起始地址 2.写入数据。给寄存器指定位置添加数据。给寄存器指定位置添加数据。写入后观看寄存器是否变化。
2024-07-25 17:51:12
1880
原创 C# 邮件发送
MyEmail.SendEmail(email, "大爱仙尊", "早岁已知世事艰,仍取飞鸿荡云间\r\n一路寒风深如絮,命海沉浮克独行\r\n千磨万击心铸铁,殚精竭虑铸一剑\r\n今朝剑指叠云处,炼蛊炼人还炼天");
2024-07-18 21:19:15
341
原创 C# 4.List
/3 下拉框的DataSource属性。向集合List添加10个学生对象 自己添加属性;// 删除指定索引值的元素。list.Remove("吃饭");// 删除指定的元素。list1.Add("老" + i);//1 向集合list添加10个学生对象 自己添加一些。6遍历所有的 item 就是数组的元素。list.Add("打豆豆");list.Add("吃饭");list.Add("睡觉");list[0] = "打铁";5 查询 通过索引值查询。
2024-07-18 21:15:03
525
原创 C# 3.数组遍历和储存对象
练习:练习:for循环存放 10 20 30 ……100 遍历数组 计算每一个和元素相加的和10+20+……public string GirlName { get;总结: 1 数组for循环存放对象2 数组for循环遍历元素。创建数组对象,存放10个学生对象;控件:按钮button,label文本。项目目的添加10个学生并展示。
2024-07-17 21:12:24
481
原创 C# 2.数组
/ sum就是三个元素相加。数组的索引值从0开始,3个元素索引值为0,1,2……i1[0] = 3;// 给索引值位0位置添加一个3。//Text属性设置内容的属性。
2024-07-16 21:13:44
601
原创 C# CRC16算法
< 左移运算 把第一个数进行左移指定第二个数位数,并且左移相当于乘以2的多少次方>> 右移运算 把第一个数进行右移指定第二个数位数,并且右移相当于除以2的多少次方通俗的说,位移的实现是将数据转换成二进制后,进行左右移动的。如果左移,则右边补零.如果是右移,则是左边补零,后边溢出的则去掉。因此,左移可以理解为整数的乘法,而右移则是理解为整数的取整除法。int a = 1;
2024-07-15 21:26:19
644
原创 C# 1.方法
逻辑:先判断彩礼不够18万,返回一个字符串彩礼不够;判断年龄在不在18-25之间,如果不在这个范围,返回字符串年龄不合法 判断名字如果不是喜欢的人 返回字符串不结婚。2.方法返回值:void 无返回值;非void,可以写成其他类型例如int,float,string,string[]等。作业:1 定义一个方法 返回值是字符串类型,参数有三个int 彩礼,int 年龄,string 名称;3.方法名:Add 大驼峰命名法,每一个首字符大写。4.参数列表:两个参数直接使用逗号隔开 int a。
2024-07-15 21:11:17
828
2
原创 C# 串口数据转网口实现空气风速风向检测
创建对象连接ip端口号,讲textbox1.text改成关闭,textBox1.Enabled=false;让输入框无法输,catch异常处理判断try里的代码是否报错,若报错运行catch里代码。断开方法:判断soc是否为空或者soc是否连接如果连接关闭soc.Close();,将button1.text=“连接”,让textbox1和2能Enabled=true;判断button1.text是否为“连接”若是连接则进行ConnectSocke();运行服务器的方法,否则CloseSocket();
2024-07-11 21:05:37
390
原创 C# modbus验证
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,CRC计算后高低位进行交换的结果,高位放在返回的crc16[0],低位在crc16[1],如果最低位为1,将寄存器与生成多项式0x8005异或,否则只进行右移操作。对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,对寄存器进行8次迭代,每次迭代将寄存器右移一位。初始化一个16位的寄存器为0xFFFF,用作初始值。最终的寄存器值就是CRC-16校验码。
2024-07-08 21:01:41
482
原创 C# Modbus
Modbus-RTU协议一般我们用的最多功能码就是`03`和`06`,大部分都是用modbus来查询传感器上的信息用`03`查询功能码(读寄存器),校验:为了保证数据不错误,增加这个,然后再把前面的数据进行计算看数据是否一致,如果一致,就说明这帧数据是正确的,我再回复;帧就是系统 Master和Slave 设备之间发送的信息,master发送的叫做命令帧,Slave返回的叫做应答帧。功能码:占用一个字节,功能码的意义就是,知道这个指令是干啥的,比如你可以查询从机的数据,也可以修改数据,
2024-07-08 20:18:23
827
原创 SerialportToTcp①
效果:串口和网口旁边的是panel当客户端或者服务器发送消息的时候会闪烁,下面的的textbox当接收到接受或者发送的数据会增加数量,心跳机制单选框可以开关,可设置心跳间隔和内容,重置按钮重置串口数据,保存按钮是保存串口数据(groupBox:提示框,panel,面板,comboBox下拉框,radioButton,单选框,checkBox,多选框)在路径Debug创建File,file里创建Setting.ini。
2024-07-03 20:14:00
478
原创 操作配置文件保存方式(上位机)
2 使用串口通信SerialPort类、以太网通信(通常的使用TCP或者UD P协议 或者在TCP或udp基础之上封装的协议。上位机:(Supervisor Control) 指的是用于监视和控制其他设备或者系统的计算机,在工业自动化和过程控制领域。c#没有对应的方法存取,通过c语言的kernel.dll方法进行读取,使用c语言的方法一定注意 和c#有点不一样。上位机典型就是一台PC或者服务器,用于语各种下位机进行通信的,收集数据,并且根据收集的数据发送一些数据。一般用于接受和反馈上位机的指令。
2024-07-01 21:22:52
1021
原创 C#串口通信Seriaport和页面传值
c# 通过SerialPort类获取串口相关的数据 并且提供发送和接收数据的方法,需要引入using System.IO.Ports;串口COM:是一种用于连接计算机和外设设备的接口,也叫串行接口,简称com,常见的串口有一半电脑应用的RS-232(使用25针或9针的。串口通讯:是指外设和计算机 通过数据信号线、地线等按照一定协议进行双向通信的方式。连接器)通俗来讲串口就是usb接口、鼠标串口。桌面只用放一个textbox。
2024-06-27 21:21:00
626
1
原创 C# SocketUDP服务器,组播
224.0.1.0 ~ 224.0.1.255: 为用户可用的组播地址(临时组地址),可以用于 Internet 上的。224.0.2.0 ~ 238.255.255.255: 用户可用的组播地址(临时组地址),全网范围内有效。224.0.0.0 ~ 224.0.0.255: 局部链接多播地址:是为路由协议和其它用途保留的地址,只能用于局域网中,路由器是不会转发的地址 224.0.0.0 不能用,是保留地址。并被划分为局部链接多播地址、预留多播地址和管理权限多播地址三类。
2024-06-25 20:06:47
1046
原创 C# UDP网络通信
TCP:(Transmission Control Protocol)是一种面向连接、可靠的、基于字节流的传输层通信协议。并且提供了全双工通信,允许俩个应用直接建立一个可靠的连接以进行数据交换/UDP:(User Datagram Protocol):是一种无连接、不可靠、基于数据报文传输层协议,它不提供数据包的分组。排序和组装功能也不提供可靠性的保证。
2024-06-25 19:44:45
737
原创 九五至尊道
早在五百年前,炼天魔尊在天庭顷刻炼化宿命蛊时,李克兢已经在暗处观察天下之事。还记得想当年李克兢成就十转之时,海面如镜,海中如泥。但是元始仙尊一生艰难,殚精竭虑,也未曾成就十转,甚至连门槛都未曾触碰到。早在若干年前,元始仙尊就曾经想到过,月亦有圆满之时,万物皆有终结之日。他是天外之魔,来到这个世界,便拥有道痕,那便是圆满道痕。天下众生如今得知,原来天下无敌并不是九转,而是,十转!大道之内,万物争执,各物矛盾,从而延展大道。仅仅十年,他成就十转,执掌天下,纵意棋局.至尊道,乃是天下人,天下物,的至尊!
2024-06-20 20:22:34
231
7
原创 C#心跳机制客户端
3创建网络基础流发消息 .write发消息。4 创建网络基础流接消息 .read接消息。tcpclient客户端步骤。2连接服务器connect。5 断开连接close()窗体(richTextBox右显示聊天)
2024-06-18 21:14:32
381
原创 C#心跳机制的服务器(完整)
心跳机制:心跳机制出现在tcp长连接中,客户端和服务器之间定时发送一种特殊的数据包,通知对方还在线,以确保tcp连接的可靠性。有可能tcp连接由于某些原因(例如网线被拔了,突然断电)导致客户端断了,但是服务器不知道客户端断了,服务器还保持与客户端连接的状态,所以不浪费资源,需要知道客户端非正常中断,服务器把断开客户端断开连接。需要加入心跳包机制tcp心跳:需要心跳机制,tcp本身内置了keepalive心跳机制,但是这种内置心跳机制不足以满足所有网络的情况,所以有必要自己写心跳机制。
2024-06-18 21:04:51
1303
1
原创 C#聊天室客户端完整③
进入聊天室界面(panel里面,label,textbox,button):聊天界面(flowLayoutPanel(聊天面板)):文档大纲(panel设置顶层(登录界面),聊天界面在底层)
2024-06-17 19:55:35
739
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人