- 博客(115)
- 资源 (3)
- 收藏
- 关注
原创 halcon之纹理识别
基于输入区域和图像的灰度分布,计算指定方向和距离的灰度共生矩阵,并从中提取局部纹理特征(如能量、对比度等),生成与输入图像尺寸一致的特征图像。HALCON 中用于计算图像区域绝对灰度直方图的算子,适用于分析特定区域内像素的灰度分布。只要输入图像的灰度范围(例如byte格式的0-255) 和 Quantization 参数均相同,则对应的。),灰度值会映射到索引 128 或 32768 起始的位置,需注意索引与灰度值的转换关系。待分析的区域(ROI),仅统计该区域内的像素灰度分布。
2025-03-20 10:27:15
683
原创 Halcon之自定义函数
halcon的自定义函数包含两种:本地函数:只能被定义的当前项目搜索、使用,其他项目无法搜索、使用。库函数:以单独的文件形式保存,所以可以被其他项目搜索、使用。在main函数中编辑,选择需要作为函数体的部分,例如:选择“创建新函数”选项:自定义函数命名,并选择函数类型:定义形参:设置形参类型:设置完成,点击确定即可完成函数的自定义过程。
2025-03-19 10:57:04
231
原创 Halcon之颜色识别
HSV(Hue, Saturation, Value)是一种广泛应用于图像处理的颜色模型,其通过色相、饱和度和明度三个维度描述颜色特性,相比RGB模型更符合人类对颜色的直观感知。一、HSV模型的构成色相(Hue)表示颜色类型,以角度度量,范围通常为 0°~360°(如OpenCV中缩放到 0~179)。红色对应0°(或180°),绿色120°,蓝色240°,补色间隔180°。饱和度(Saturation)表示颜色纯度,范围 0%~100%(或 0~255。
2025-03-18 17:01:59
862
原创 Halcon之模板匹配
参考Halcon样例位于HDevelop示例->方法->模板匹配(基于形状)->pm_multiple_models.hdev。:由于该模板是基于灰度值进行匹配,导致使用时要求图像的光照稳定有较高的要求,在实际中使用的不多。*特别需要注意使用create_ncc_model创建模板后,模板区域角度将自动旋转到0度。:可以解决光照不均,不足,光照变化的场景,以及焦点变化的场景(图像模糊)的模板匹配。在图形窗口右键->更新窗口->取消“在运行模式”选项,左上角轮廓将不再显示。场景1:焦距变化,图片模糊。
2025-03-05 15:55:33
272
原创 Halcon之二维码
Halcon提供读取二维码格式类型为PDF417,数据矩阵ECC200、QR码,MicroQR码以及Aztec码。与条形码相似,均是对字符和数字进行编码,这些符号由暗条和亮条或成为模块的点组成。条形码使用黑色条和空格作为模块,由于单个暗条和亮条沿其高度具有恒定的宽度,因此可以沿符号的宽度在单个扫描线中读取条形码。与条形码相反,对于二维码符号,改变沿两个方向发生。因此相同的信息可以被编码到更小的符号中。符号的大小,由两个方向上的模块数量确定,以及编码信息的长度或者所读取信息所需要的纠错级别。
2025-02-26 18:06:11
1316
原创 Halcon之条形码
条形码是将线条与空白按照一定的编码规则组合起来的符号,用以代表一定的字母,数字等信息资料。在进行辨识的时候使用条码阅读机扫描,得到一组反射光信号,此信号经光电转换后变成一组与线条,空白相对应的电子信号,经解码后还原为相应的字符信息。条码识别技术已经相当成熟,其读取的错误率约为百万分之一,首读率大于98%,是一种可靠性高,输入快速,准确率高,成本低,应用广的技术。
2025-02-24 17:11:15
867
原创 Halcon相机标定
相机的成像过程实质上是坐标系的转换。首先空间中的点由“世界坐标系”转换到“相机坐标系”,然后再将其投影到成像平面(图像物理坐标系),最后再将成像的平面上的数据转换为图像像素坐标系。但是由于透镜的制造精度以及组装工艺的偏差会出现不同的畸变,导致图像失真。镜头畸变分为径向畸变和切向畸变。径向畸变是由镜头形状缺陷造成,它又分为枕形畸变和桶形畸变。对于一般低精度的场合,只考虑径向畸变即可,因为切向畸变的影响远小于径向畸变。因此如果要进行图像畸变矫正就需要通过标定获取相机的参数。
2025-02-14 21:55:58
1581
1
原创 Halcon之图像增强
例如原图中最小灰度值为12,最大灰度值为200。经过scale_image_max算子处理之后图的最小灰度值变为0,最大灰度值变为255,其他灰度值按照此区间进行对应放大。3,scale_image_max(拉伸)算子:将该图像的最小最大灰度值放大至对应0与255范围内.2,illuminate(照射)算子:将灰度低于127的图像变亮,将灰度高于127的图像变暗。1,emphasize(增强)算子:对图像边缘进行增强,亮的位置更亮,暗的位置更暗。
2025-01-20 15:24:25
308
原创 Bitmap 转换为Halcon的HObject类型
非4的整数倍宽度的图像,后面会补0来达到4的倍数。如图像width=202,每行202个字节,实际内存每行后面会补两个字节,宽度变为204个字节。所以以下方法只能用于宽度为4的倍数的图片转换,若用于宽度非4倍数的图片,呈现出来的图片将变形。解决方法2中宽度非4倍数的图片呈现异常问题。注意:Bitmap4。
2025-01-08 13:15:41
325
原创 WPF之iconfont(字体图标)使用
WPF的Xaml是与前端的Html有着高度相似性的标记语言,所以Xaml也可同Html一般轻松使用阿里提供的海量字体图标,从而有效的减少开发工作度。2,双击打开iconfont.ttf文件,查看字体名。选择项目下载,并选择下载至本地。,免费添加下载图标资源文件。解压下载的压缩包有如下文件。Index.html文件。将需要的图标添加到购物车。3,WPF添加字体资源。点击购物车,进入购物车。
2024-11-06 11:01:29
1042
原创 CallerMemberName特性的使用
在WPF中使用非依赖属性作为数据源绑定时,为了达到数据驱动的效果,需要实现INotifyPropertyChanged接口。调用该事件时需要给其提供包含调用属性的属性名,此时可使用CallerMemberName特性自动提供,减少重复的工作。
2024-10-30 10:11:47
222
原创 WPF绘制仪表
/WPF未提供圆弧Shape,故根据Ellipse实现过程自定义一个圆弧类get//根据起始角度算出起始点//可绘图的区域为_recelsewidth = ((!break;elsebreak;elsebreak;if (!return 0.0;
2024-10-12 16:06:15
945
原创 C#搭建WebApi服务
OWIN 的全称是 "Open Web Interface for .NET", OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一套标准的接口, 其目的是为了实现服务器与应用之间的。
2024-09-08 17:23:35
4589
原创 C#发送正文带图片带附件的邮件
第2,正文为自定义编辑风格(带有边框,不同颜色的字体)。正文需要为html格式,普通文本格式无法实现。点击管理服务,进入账号与安全页面。第1,正文带有背景图片。
2024-09-08 14:42:09
987
原创 C#绘制常用工业控件(仪表盘,流动条,开关等)
/接收输入完成的数据//Esc事件//注册哪些控件使用数字键盘,通过控件名进行注册,如果不注册将无数字键盘弹出//键盘的打开是通过目的控件的GotFocus事件完成如果不将焦点转移到其他控件,将影响在该目的控件上重复打开键盘。
2024-09-02 11:29:43
2628
原创 浅析C# PageSetupDialog页边距异常变动问题
在XP系统下,可以通过“控制面板”->“区域和语言选项”->“区域选项”->“标准和格式”->“自定义”->“数字”->“度量衡系统”来设置当前的度量衡制式。OK的原因很简单,不需要转换了嘛。举个具体的例子来说,如果你没有编程预设置页边距的话,默认第一次打开“页面设置”时的页边距应该是10mm,当你点“确定”关闭它再打开后,页边距变成了3.9mm,再重复这一操作,页边距又变成了1.5mm,依此类推。.NET对于页边距是绝对的“大国沙文主义”,只认美制的“英寸”不认别的制式,其默认单位是“0.01英寸”。
2024-08-27 10:23:48
657
原创 Winform开源布局组件DockPanelSuite使用
2, 开源组件DockPanelSuite(WeifenLuo.WinFormsUI.Docking)使用心得一:入门。3,开源组件DockPanelSuite(WeifenLuo.WinFormsUI.Docking)使用心得二:布局。4,开源组件DockPanelSuite,布局保存。
2024-08-10 10:06:33
531
原创 C# dll合并
通过微软的ILMerge工具将多个dll合并为一个dll,可大大的增加简洁性。但ILMerge软件需要进行安装且需要结合DOS命令使用,较为繁琐难记。故进行简单UI包装,使用ILMerge提供的接口开发了基于C#完成多个dll合并的winform程序。在开发应用过程中如果引用其他类库,最后完成编译时将生成该类库的dll文件。如果引用多个类库,将生成多个dll文件,如此影响到后期类库被其他应用引用的简洁性。
2024-08-06 18:06:06
934
2
原创 C# Log4Net应用
在AssemblyInfo.cs中添加log4net的配置信息,指定默认配置文件为程序运行目录下的log4net.config文件,Watch标志指示当配置文件发生更改时进行重新加载,以做到实时更新配置信息.日志记录是程序开发中必不可少的环节,对于bug调试和后期项目维护都十分重要.其中Log4net是C#环境下广泛使用的日志记录库,功能十分强大.本教程提供的日志记录需求如下。设置log4net.config的属性为复制到输出目录,否则在程序运行时无法加载配置文件。2,以天为单位进行日志文件的保存。
2024-07-31 09:48:33
463
原创 C#如何引用dll动态链接库文件的注释
4、虽然你在引用其它项目的时候将DLL文件复制本项目的资源目录下了,但由于DLL是在本机编译的,DLL中保存的源文件的目录,所以在出现异常的时候,VS还是可以打开文件的源码,但是你还是需要到原项目中去编辑修改再编译。3、如果要是添加引用的时候XML不在相同目录下,之后又将XML文件复制到相同的目录下,需要删除引用,重新添加引用。2、添加引用时XML文件要与DLL文件在同一个目录下。1、dll动态库文件项目生成属性中要勾选“
2024-07-26 09:14:42
566
原创 C# 报表(RDLC)实现打印,Word、Excel、PDF导出
rdlc是VisualStudio中报表文件的后缀名,是Report Definition Language Client的缩写,直接翻译过来可以理解为报表定义语言客户端。这样听起来很难懂,不知所云。其实和rdlc同时存在的还有一个rdl,就是上面这个全程前3个单词的缩写。从SQL Server 2005开始,微软提供了一个报表服务(Reporting Service),而rdl是指那些针对报表服务部署在服务器端的报表,而rdlc是指在本地的一些报表。
2024-07-25 20:28:55
4015
1
原创 添加虚拟打印机
第4步:在“使用计算机上现有的打印机驱动程序”里选择【Microsoft XPS Document Writer】即可。第5步:最后一直下一步就可以了(当然也可以取消共享打印机和设为默认打印机)。第3步:选择第三个单选按钮,下一步。
2024-07-25 09:55:17
1037
原创 C#Modbus通信
虚拟串口工具(vspd.exe),Modubus模拟主站(Modbus Poll),Modbus模拟从站(Modbus Slave),OPC服务软件(KEPServerEx V4.0)。F=01表示从站地址为01,功能码为01(即读取线圈,具体参考前面报文格式阐述)第2步,使用ModbusSlave软件建立虚拟Modbus从站。目的:通过标准Modbus协议完成对线圈,寄存器的读写。第1步,使用虚拟串口软件创建虚拟串口。3,基础ModbusRTU的通信。3.5,详细文档连接。2,初识Modbus。
2024-07-05 09:29:05
820
WPF自定义仪表控件及使用Demo
2024-10-12
基于三菱MXComponent的C# Demo
2024-09-18
C#Modbus通信案例,包含了ModbusRTU,ModbusTCP,OPC三种Modbus通信案例
2024-07-05
用于工控的测试软件包含虚拟串口软件,ModbusPoll,ModbusSlave,KepKEPServerEx V4.0
2024-07-05
Crystal Reports for Visual Studio2015(水晶报表插件)
2024-02-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人