自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(182)
  • 资源 (45)
  • 收藏
  • 关注

原创 使用PaddleOCR和OpenCV5实现OCR

本文介绍在OpenCV 5环境下绕过依赖限制,直接使用OpenCVSharp与OnnxRuntime调用PaddleOCRv5模型实现文字检测与识别的方法。通过加载det.onnx(检测)和rec.onnx(识别)模型,结合ppocrv5_dict.txt字典,实现了对证件类图像的高精度文字识别,识别结果包含文本内容及置信度,效果良好,适用于多场景OCR应用。

2026-11-06 14:16:07 170

原创 C#使用opencv和Yolo模型识别车牌号

本文基于OpenCVSharp与OnnxRuntime,结合YoloV8n-pose_plate模型(检测车牌位置)和OCR模型(识别车牌文字),实现高效车牌识别。通过预处理、目标检测、NMS筛选及文字识别流程,最终输出车牌框位置与识别文本。代码封装良好,支持自定义路径与置信度阈值,具备实际应用价值。

2026-11-06 13:59:11 149

原创 ASP.NET前后端用户安全管理技术全解析

本文系统介绍ASP.NET Core中用户管理的核心技术,涵盖注册登录、密码加密(PBKDF2)、JWT身份认证及AccessToken/RefreshToken机制。通过轻量级Web API项目演示,强调安全实践:密码明文不存储,使用加盐哈希;登录后生成带有效期的JWT令牌,结合短时效AccessToken与安全存储的RefreshToken实现无状态身份验证,提升系统安全性与用户体验。

2026-11-05 13:52:21 121

原创 SCADA系统开发关键技术(七)

针对多设备数据采集的复杂性,ScadaSystem采用带发送时间与等待时间的数据包队列,按期待时间重排序,实现采集调度且控制优先;链路通过忙闲状态避免收发混乱,接收后由驱动校验完整性,超时抛错,解决重复接收与多设备共享链路问题。

2026-09-08 10:55:10 135

原创 SCADA系统开发关键技术(六)

针对ScadaSystem通信问题,采用WebSocket为主、API为辅,并设计高效自定义字符串格式。通过优先级处理、分批传送、延迟更新、前端按需注册及适当裁剪,解决大量信息更新与巨量消息传输,确保关键信息及时送达。

2026-09-02 11:10:37 228

原创 SCADA系统开发关键技术(五)

本文介绍SCADA系统中模块化插件(驱动)的设计,其不仅包含代码逻辑,还包含配置定义文件。以Modbus、HJ212等协议为例,说明各驱动需定制配置项。系统加载驱动后,前端根据配置定义生成界面,用户配置生成配置文件,驱动逻辑读取后执行任务。并以TCP客户端链路驱动为例,展示配置定义、界面及代码使用过程。

2026-09-01 15:10:22 169

原创 SCADA系统开发关键技术(四)

SCADA系统的数据核心是键值对仓库,设备属性(如室温、模式、目标温度)以“设备.因子”为键,可读写实现采集与控制。系统架构包括链路传输字节流、协议解析转换键值对、存储方案、可视化展示及数据处理(表达式、事件告警)。

2026-08-31 14:26:26 142

原创 SCADA系统开发关键技术(三)

ScadaSystem采用.NET反射技术实现模块化低耦合架构,主程序仅提供调用流程,通过配置加载DLL实例化模块。系统定义了链路、采集、上传、存储等模块基类,并根据实际应用场景(如请求响应、主动推送、定时存储)细分具体基类,各模块继承后适配开发。

2026-08-31 13:59:39 226

原创 SCADA系统开发关键技术(二)

ScadaSystem采用前后端分离架构:后端ASP.NET Core,前端Vue,满足跨平台与实时可视化。通信以WebSocket为主,辅以RESTful API处理图片等请求;传输采用字符串而非Protobuf,兼顾效率与灵活性。实践表明,.NET跨平台性强,但超低配置设备仍需C++开发,需权衡取舍。

2026-08-31 11:17:59 221

原创 SCADA系统开发关键技术(一)

本系统为一款跨平台工业数据采集与监控平台,支持Windows和Linux。它整合数据采集、反控、存储、上传、事件、报警及组态显示,各部分可灵活定制。采用统一配置方式,兼容不同设备、存储与通信链路。通过插件机制,无需修改主程序即可接入新设备协议,并支持多设备共用链路的高效并发采集。系统可实时显示通信字节流,并提供丰富的组态配置与自定义控件。后续文章将详述技术实现。

2026-08-31 10:30:38 161

原创 指针式仪表读数(机器视觉、OpenCV)

本文提出了一种基于OpenCV的指针式仪表自动读数方法,主要分为两个步骤:仪表定位和读数识别。在仪表定位阶段,采用特征点匹配方法,通过模板图片与待测图像的关键点匹配确定仪表区域,避免了需要大量训练数据的问题。读数识别阶段通过图像处理技术(二值化、直线检测等)提取刻度和指针,利用几何方法计算读数。针对仪表变形导致的误差,提出基于邻近刻度的优化算法,将读数误差从5.925降低到准确的6.4。实验表明,该方法在无需大量训练数据的情况下,能有效实现指针仪表的自动识别与读数。

2026-06-05 06:11:38 308

原创 C#使用YOLO26进行图像识别(目标检测)

纯属个人意见,用python做开发,对象类型不明确和包冲突的问题很烦人,所以还是想用熟悉的C#去做图像识别。其实用C#做也很简单。本文只实现使用模型进行检测,所以需要预先准备好已经训练好的模型。我们以官方训练好的模型yolo26n.pt为例。

2026-05-22 10:33:26 549

原创 OpenCV静态图像分割(抠图)

本文对比了OpenCV提供的多种图像分割方法在苹果图像分割中的效果。测试了漫水填充、分水岭、Grabcuts、Mean-Shift和K-Means等传统算法,发现这些方法要么需要人工干预,要么难以处理阴影等复杂情况。最后展示了深度学习模型U2-Net的优秀表现,它能自动精确分割出苹果主体并处理好阴影,在速度和精度上均优于传统方法。实验表明,对于复杂图像分割任务,深度学习模型比传统算法更具优势。

2026-05-21 13:58:20 282

原创 将PDF每一页导出一张图片(C#,.NET)

本文介绍使用.NET和PDFium库将PDF转换为图片的方法。通过添加PDFium.WindowsV2和PDFiumSharp NuGet包,可以轻松实现PDF到图片的转换。示例代码演示了如何加载PDF文档,遍历每一页,使用白色背景创建位图,渲染页面内容,并保存为PNG格式的图片文件。该方法支持指定输出路径和文件名,最终会生成与PDF页数相同的图片文件。整个过程简单高效,适用于需要将PDF文档转换为图片格式的应用场景。

2026-02-12 15:21:19 169

原创 OpenCV实现二值图细化(骨架提取)

本文介绍了使用OpenCVSharp在C#中实现图像细化(骨架提取)的两种经典算法:Zhang-Suen算法和Guo-Hall算法。通过Mat对象处理二值图像,算法采用迭代方式将线条细化至单像素宽度。程序首先创建标记矩阵,然后根据不同的算法类型(thinningType参数为1或2)进行像素点8邻域分析,通过预定义的查找表决定是否删除当前像素。两种算法均通过交替迭代处理图像,直到不存在可删除像素为止。文章还展示了原始二值图与两种算法处理后的骨架提取效果对比图。

2025-06-20 10:12:52 838 1

原创 OpenCV根据模板图像寻找环境中的目标

该文介绍了一种基于图像匹配的目标定位方法。通过将模板图像转换为灰度图,提取关键点并进行匹配,利用单应性矩阵将模板投影到目标图像中,从而实现目标定位。实验结果表明,该方法能准确匹配目标位置,并附有多组测试图片及匹配效果展示。

2025-06-18 13:08:04 308

原创 从一组线段中得出四边形的算法

摘要:本文提出了一种从OpenCV检测线段中构建透视矩形的算法。该算法通过组合4条线段,检查相邻线段夹角(接近90度)和顶点距离,筛选出可能的四边形候选。具体步骤包括:1)生成线段组合;2)排除夹角不合理的组合;3)排除顶点距离过大的组合;4)计算四条线段交点形成最终四边形顶点。算法通过双重循环遍历所有可能组合,并使用评分机制筛选最优结果。测试表明该方法能有效检测经过透视变换的矩形物体,即使原始线段并不完全相连。代码实现了完整的处理流程,包括线段组合生成、几何约束检查和顶点计算。

2025-06-11 13:31:39 524

原创 使用ONNX模型实现M-LSD算法

摘要:本文介绍了使用C#和ONNX模型实现M-LSD直线检测算法的完整流程。通过OpenCvSharp处理图像,加载512x512的ONNX模型进行推理,提取直线段并绘制检测结果。代码包含图像预处理、模型输入输出处理、直线筛选和后处理等步骤,最终生成带有检测直线的结果图像。该实现可有效检测图像中的显著直线,适合各种计算机视觉应用场景。

2025-06-09 15:32:38 373

原创 OpenCV定位地板上的书

本文介绍了一种通过图像处理技术从复杂背景中识别书本的方法。首先,将彩色图片转换为HSV色彩空间,并提取S(饱和度)分量,以增强书本与背景的对比度。接着进行二值化处理,使书本区域更为明显。随后,应用形态学的开运算和闭运算,消除书本外的小物体并将书本区域连通。最后,生成轮廓并计算其外包矩形,从而准确框出书本位置。该方法有效解决了书本与背景颜色相近时的识别难题,提升了图像处理的精确度和效率。

2025-05-08 16:41:11 411

原创 OpenCV实验室工具的使用

例如下面的代码是图像平滑时使用的OpenCV函数,软件的输入参数可以帮助理解这个函数的使用。当打开一张彩色图时,可以先变成灰度图,然后二值化,再生成轮廓。OpenCV实验室包含了常见的图像处理和分析功能,包括色彩空间转换、滤波与卷积、图像优化、位置变换、图像分析、直方图、目标检测、图像分割、轮廓分析等。OpenCV实验室工具是一个调用OpenCV常见函数,让用户调整参数,快速得到试验结果的工具软件。软件界面中包含三列,第一列是功能菜单,第二列是实现某一功能时需要输入的参数,第三列是图像处理历史。

2025-04-27 14:25:04 479

原创 各种颜色空间的相互转换方法(RGB,HSV,CMYK,灰度)

各个颜色空间原始值的取值范围:CMYK:[0,1]灰度:[0,255]以下给出各个颜色空间转换的伪代码。

2025-04-10 15:44:44 914

原创 WPF中RenderTargetBitmap问题解决

使用RenderTargetBitmap截取某一可视元素时,很多时候会出现元素并不是在图片左上角的问题。解决这一问题的方法是,在要截取元素外,再加一个Border。

2025-01-07 14:52:26 779

原创 在ScadaFramework里配置采集Modbus设备

ScadaFramework是一个实现SCADA功能的软件工具,经过简单配置之后,即可采集设备数据,并进行存储、监控、组态可视化,并可将数据上传至平台。本文将介绍如何在ScadaFramework中配置,以采集Modbus协议的设备。

2024-04-01 09:46:50 1226

原创 DLMS协议开发指引

某些电表一开始未进入DLMS传送模式,需要进行切换。按照IEC62056-21协议模式E的规定,先发送以下内容:典型的串口设置为:波特率300,校验位Even,数据位7。(也可校验位无,数据位8)V:ASCII码的2,代表使用HDLC。Y:ASCII码的2,代表使用HDLC。Z:ASCII码,波特率选择。1:600Bd2:1200Bd3:2400Bd4:4800Bd5:9600Bd6:19200Bd根据以上设置,此时波特率可调整为9600,进入DLMS数据传送。

2023-08-01 09:44:04 8731 2

原创 在组态软件中开发脚本功能的方法

大多数的组态软件都具有脚本功能,脚本可能是VBS、Lua、C#等语言,也可能是厂家自定义的一种语言。通过脚本,组态软件可以实现非常灵活的功能。。外部数据,最重要的是采集到的数据,也可能是用户创建的配置文件。而改变可视化元素,则包括创建、改变位置、改变状态、删除等操作。本文通过一个示例,介绍在组态软件中实现脚本功能的方法。

2023-06-07 11:05:41 4087

原创 ASP.NET Core Web API用户身份验证

ASP.NET Core Web API用户身份验证的方法有很多,本文只介绍JWT方法。JWT实现了服务端无状态,在分布式服务、会话一致性、单点登录等方面凸显优势,不占用服务端资源。简单来说,JWT的验证过程如下所示:(1)通过用户名和密码获取一个Token。(2)访问API时,加上这个Token。Token包含过期时间、用户角色等信息,可以在多种场合灵活使用。

2023-05-07 10:28:01 5937 6

原创 三级封锁协议实例

在网上看了很多三级封锁协议的例子,大部分都是不正确的(例如T1加了X锁后,T2还加S锁)。以下是正确的实例。首先描述一下三级封锁协议。一级封锁:要写数据,写前加X锁,事务结束才释放。二级封锁:在一级封锁的基础上,要读数据,读前加S锁,读后释放。三级封锁:在一级封锁的基础上,要读数据,读前加S锁,事务结束才释放。一级封锁可以解决丢失修改问题,二级封锁可以再解决读脏数据问题,三级封锁可以再解决不可重复读问题。

2023-04-19 11:20:21 1337

原创 LINQ操作汇总

使用方法。以下代码,将原数组,按照每个单词的长度进行升序排序。

2023-02-22 10:59:51 2777

原创 在线流程图和思维导图开发技术详解(六)

在HTML中,给定一个文本范围,超长的文本会自动换行。但在SVG中,文本是不会换行的,只会超出后被裁剪。两者在样式的写法上基本相同,唯一需要注意的是HTML中的color需要转成SVG里的fill。扫描整个根div,生成一个节点树,标注每个节点的字体信息,以及选中信息。这也是很困难的,因为有些节点已经合并或分裂,选中的位置信息需要更新。,当我们把文字2的字体大小改为14px之后,它就跟文字1一样了,两段文字没必要用两个span,合在一起即可。本项目显示的文本皆是富文本,也就是在一个框里面,文本有多种样式。

2022-09-20 16:07:32 819

原创 在线流程图和思维导图开发技术详解(五)

最新的操作会被撤销,恢复操作之前的流程图。有一种方式是,保存一张初始图,然后把每次的操作都记录下来。还有一种方法,也是本项目所采用的方法,就是把所有图元的信息保存起来,序列化成一个字符串。当需要撤销时,从Stack里取出字符串,反序列化成图元信息,覆盖当前的图元信息,重新加载和渲染。在上一节中,我们已经提到,在数据保存时,svg数据也保存了下来。当存在图片时,img引用一个svg,svg又引用一张图片,就会显示不出现。项目后端使用.NET开发,在NuGet中引用一个名为Svg的库,即可实现svg的转换。

2022-09-20 16:05:52 797

原创 在线流程图和思维导图开发技术详解(四)

当鼠标按下时,我们需要判断按下的地方是在图元上(实际上还要分是否选中、是否锁定等情况)还是在空白的地方。最后鼠标弹起,完成一次事件。在所有处理器中,鼠标事件处理器是最为复杂的,因为在整个页面中,基本可以使用鼠标完成所有功能。除此之外,鼠标的动作还需要配置辅助键,例如CTRL和SHIFT,在拖动图元变换时会用到这两个键。每个动作之后,只需要对当前动作作出处理(例如改变光标、记录当前位置等),然后改变状态即可。可以看到,对于上面的动作,如果不断使用if/else去处理,这个代码层次将会非常多和冗长,难以管理。

2022-09-20 16:04:06 547

原创 在线流程图和思维导图开发技术详解(三)

例如在不保持比例的情况下,只要拖动位置跟“左”有关的,矩形的x坐标和宽度都要修改,而跟“右”有关的,只要修改宽度即可。在计算之前,整棵树的大小是未知的,树摆放在哪里不好把握。我们一开始计算的时候,会假定根节点的坐标是(0,0),然后计算出每个节点的相对坐标。以内部矩形的左上角为例,L1、L2为组矩形的长和宽,l1、l2是左上角点在两条边上的投影点距离组矩形原点的距离。旋转矩形的描述是rect(x,y,width,height,angle),直接给定一个鼠标点P(x,y),无法判断这个点跟旋转矩形的关系。

2022-09-20 16:02:30 2469

原创 在线流程图和思维导图开发技术详解(二)

图元数据描述是本项目开发的一个难点。图元数据的特点包括:(1)图元种类众多,每种图元有自己独特的属性。(2)某些种类的图元存在公共的属性。例如矩形、图片的位置都是通过一个矩形来描述的。(3)管理器对图元有共同的操作。例如把图片数据转化为可视HTML,鼠标拖动时的平移动作等。这些操作在图元内部的实现并不一致。(4)图元存在一些即使而不需要保存的属性,例如是否选中,这是一个不需要保存,每次打开时都有默认值的属性。在本项目中,图元具有以下的数据定义:}这就是图元的基类。

2022-09-20 15:58:01 1142 1

原创 在线流程图和思维导图开发技术详解(一)

本项目的最终结果是一个同时具有流程图和思维导图功能的Web版制图软件。能够制作出如下图所示的图:项目具有以下的一些功能:类似软件的常规功能:元件库、分组管理、层次管理、锁定管理、图形样式、文字样式、连接线样式等。用户可添加自定义图片,包括png、jpg、gif、svg等格式,以及一种项目自定义的格式。流程图和思维导图可同时在一个页面中完成编辑。思维导图可变换左侧、右侧、底部、双侧等模式。整图转换为png、svg、jpg等格式。文本支持内部多种样式。

2022-09-20 15:55:52 3192

原创 判断点是否在贝塞尔曲线(Bézier curve)上的方法

但贝塞尔曲线(Bézier curve)并不是y关于x的方程,而是(x,y)关于一个参数t的方程。利用同样的方法,我们也可以使用y求出若干个t。然后比较用x求出的t和用y求出的t,如果都在[0,1]范围内,而且是接近的,那我们可以认为点P就在贝塞尔曲线上。假设贝塞尔曲线经过点P0(x0,y0)、P1(x1,y1)、P2(x2,y2)、P3(x3,y3),现在要判断点P(x,y)是否在曲线上。现在,如果我们需要判断一个点P(x,y)是否在贝塞尔曲线上,就要找到一个t,代入方程中,求出(x,y)跟P一致。...

2022-08-09 15:16:48 2118

原创 contenteditable格式化html文本转svg

把文字包住,字体对应face属性,字体颜色对应color属性,字体大小对应size属性。我们知道,在一个div里加上contenteditable="true"之后,它就变成了一个可编辑的框,而且是能满足基本需求的富文本编辑框。算法的思想是一个字一个字的选取,获取选择部分的位置,当选择部分的y值比第一个字的y值大(而且超过了某个阈值),则从这个字符开始换行了。上文中已经说过,HTML里的文本是会自动换行的,但SVG里的文本不会。如果是BR结点,结束上一行,添加新的一行,只有BR结点这个元素,再新建一行。..

2022-07-28 17:32:40 1556

原创 svg文本<text>详解

在SVG中,text的基本用法如下:其效果如下图所示: 注意上图中红点的位置坐标即为(20,20)。可以看到,默认情况下,text使用以下默认属性:可以对文字的颜色、字体、字体大小、是否粗体、是否有下划线、是否斜体等进行设置。需要注意的是,样式基本与html相同,除了color,svg中使用fill进行颜色设置。其效果如下图所示:水平对齐的方式有三种,分别是左对齐、居中对齐、右对齐。其设置的属性是text-anchor,对应的值分别是start、middle、end。默认值是start。居中对齐...

2022-07-14 09:40:09 16119

原创 判断空间四点(多点)共面的计算方法

如果三点非共线,那么三点必然共面。如果现在有第四点,如何判断这个点跟前三点共面呢?如果有超过四个点,实际上也是从第四个点开始,一个个判断是否跟前三个点共面。可以使用向量和行列式的方法去计算。我们先来看行列式的几何意义。对于二阶行列式,它的行向量组成了一个平行四边形,而其值就是平行四边形的面积。类似的,对于三阶行列式,它的行向量组成了一个平行六面体,而其值就是这个平行六面体的体积。四个点刚好能形成三个向量,而如果四点不共面,那么这个平行六面体的体积就不会是0。反过来说,如果平行六面体的体积是0,也就是如果行列

2022-06-21 16:22:56 9306 1

原创 已知两点求直线一般方程,已知三点求平面一般方程

我们知道,直线的一般方程是,而平面的一般方程是。对于直线方程,有ABC三个未知数。但我们知道,已知两个点只能求出两个未知数。对于平面方程是同理的。事实上,一般方程里的参数是有冗余的。例如,和这两个方程事实上描述的是同一条直线。那我们可不可以直接把一个系数约掉呢,例如变成。很遗憾这行不通,因为A有可能是0。任何一个参数都有可能是0,无法约掉。这样的话,在求解的时候,我们就需要分类讨论。先判断某一个参数是否为0,如果是0,则可以去掉该参数。少了一个参数,点数和未知数的数量相同,就可以求解了。如果没有参数是0,那

2022-06-08 06:51:01 2054 1

原创 三维空间圆弧描述方法

在以下的描述方法中,我们用到:圆心:(x0,y0,z0),需3个数值。弧起点:(x1,y1,z1),需3个数值。弧终点:(x2,y2,z2),需3个数值。弧方向:(xd,yd,zd),长度不重要,只需表达出方向,所以需要2个数值。弧度:θ,需1个数值。描述方法:1、圆心+弧起点+弧终点+弧方向需要11个数值。可以描述所有圆弧。2、圆心+弧起点+弧方向+弧度需要9个数值。可以描述所有圆弧。3、弧起点+弧终点+弧方向需要8个数值。不能描述圆周。描述圆周时,弧起点和弧终点重合。4、弧起点+弧终点+弧上任一点需要9

2022-06-07 13:40:08 1838

DLMS通信协议OBIS编码和DL645编码

包含两部分内容: 1、DLMS通信协议OBIS编码 2、DL645电能表通信协议编码

2022-05-27

WPF MVVM完整示例(登录窗口)

包含了在MVVM模式下的数据绑定、命令和事件、PasswordBox的绑定、RadioButton等一对多控件的绑定、关闭窗口和打开新窗口和数据验证等内容。

2019-03-29

WPF带水印的输入框

WPF做的带有水印的TextBox。内容为空时出现浅灰色文字。有源代码。

2018-09-05

云图(等高线图)绘制算法源码

介绍三种绘制云图或等高线图的算法。点距离反比插值、双线性插值和面距离反比+双线性插值。

2019-04-26

坐标轴刻度取值算法完整代码

坐标轴刻度取值算法完整代码,生成比较优雅和人性化的刻度。

2019-06-13

应用程序守护程序

监测需要保护的程序,保证程序在运行状态,如果程序退出,则会自动启动程序。有源代码。

2018-09-05

工控机网络通信工具类

工控机网络通信工具类,包括跟平台连接、跟仪器连接。

2018-09-06

用HTML5写的五子棋游戏

比较简单地实现了五子棋游戏,两人轮流下,判断胜负。

2018-10-11

WPF日期时间控件

WPF日期时间控件,可选择日期和时间。日期时间格式自定义,用yyyy-MM-dd HH:mm:ss这样的字符串定义格式。有源代码。

2018-09-05

用HTML5写的俄罗斯方块游戏

用HTML5写的俄罗斯方块游戏,支持键盘上下左右移动和旋转。

2018-10-11

象棋五子棋AI源代码(C#)

象棋和五子棋的AI源代码,用C#写的,可运行。战力还可以。

2018-11-26

C#编写的矩阵类,包含矩阵一般的操作

用C#写的矩阵类,包含矩阵的四则运算、叉乘、转置、行列式、逆矩阵、卷积等。

2019-06-06

最小圆覆盖算法(C#)

C#实现的最小圆覆盖算法。给定一个点(x,y)的列表,返回圆心坐标和半径。

2019-07-09

WPF报表控件(表格和图表)

用WPF做的报表控件,小巧但实用。能够自定义表头,导出Excel表格和打印。

2018-09-05

WPF高性能绘图的方法

WPF高性能绘图的方法,使用WriteableBitmap对象,介绍使用GDI+绘制图形和操作像素的两种方法。

2019-05-06

OpenCvSharp测试程序DEMO

OpenCvSharp是一个C#对OpenCV的封装。本测试程序是一个WPF项目,提供众多数字图像处理的示例代码,包括图像平滑、边缘检测、二值化、区域分割、滤波等。

2020-05-06

.NET Core WebSocket示例

ASP.NET Core Web应用程序,包含服务端和客户端的示例代码(js)。

2019-09-29

等高线图算法完整代码(C#)

使用C#对等高线图算法(Marching squares)的完整实现代码。

2019-06-12

C#实现4种经典迷宫生成算法和迷宫寻路算法

C#实现4种经典迷宫生成算法和迷宫寻路算法,4种经典的迷宫生成算法是:(1)使用并查集算法生成,(2)使用深度优先算法生成,(3)使用随机算法生成,(4)使用递归切割算法,而迷宫寻路使用A*算法。

2018-12-05

C#表达式运算类

能进行以下运算:四则运算、乘方开方、三角函数、逻辑运算。

2018-09-05

西门子S7系列PLC数据采集C#源代码

西门子S7系列PLC数据采集C#源代码

2025-06-11

Modbus-RTU数据采集C#源代码

标准Modbus-RTU协议数据采集源代码。包含对寄存器、线圈、输入寄存器、输入线圈的读写功能。

2025-06-11

DLMS协议采集C#源代码

电能表DLMS协议数据采集源代码。支持LN和SN两种模式。

2025-06-11

IEC104协议采集C#源代码

IEC104(IEC60870-5-104)通信协议源代码。作为主站。支持遥信、遥测、遥控、遥调等功能。

2025-06-11

M-LSD直线检测算法C#实现(包含ONNX模型)

M-LSD直线检测算法,使用C#的ML.NET读取训练好的ONNX模型,对彩色图像进行直线检测。完整可运行的DEMO,包含模型和测试图像。

2025-06-09

直线检测算法LSWMS的C#实现源码(OpenCVSharp)

使用C#实现的直线检测算法LSWMS,借助OpenCVSharp。

2025-05-21

直线检测算法EdLines的C#实现(OpenCVSharp)

使用C#实现的直线检测算法EdLines,借助OpenCVSharp。接口类似于LSD。

2025-05-21

OpenCV图像处理与分析实验室工具

展示对OpenCV的调用,包含各种图像处理与分析的操作,包括滤波与卷积、锐化和边缘、图像优化、图像分割、直方图、目标检测、轮廓分析等功能。在工具里包含各个调用的参数,可以调整参数进行实验。

2025-04-27

组态软件开发脚本功能Demo

在组态软件中开发脚本功能,使用C#(WPF)语言开发,脚本语言也是C#。实现了读取外部数据以及改变可视化元素。

2023-06-07

汉字拼音对照表(6700字)

几乎包含所有可能会用到的汉字。拼音有声调。多音字列出了所有拼音。

2023-05-06

方程求解源代码,一元二次方程,一元三次方程,一元四次方程

方程求解源代码,包括一元二次方程,一元三次方程,一元四次方程。使用求根公式进行求解,解为复数解,二次方程总是有两个解,三次方程总是有三个解,四次方程总是有四个解。如果只需要实数解,可判断虚部是否为0。

2022-08-09

格式化html文本转svg文本源代码

格式化的HTML文本转换成SVG文本源代码。利用contenteditable属性,div标签里的文本将可以编辑。借助execCommand,div标签的字体样式可以动态调整。源代码中包含了计算HTML文本结构、判断换行等功能,生成跟HTML所见一模一样的SVG文本。

2022-07-28

C#绘制三维云图源代码和测试项目

C#绘制三维(3D)云图,包含完整VS项目工程、源代码和测试数据,可直接运行看效果。

2022-06-27

编译原理(紫龙书)中文第2版习题答案

编译原理(紫龙书)中文第2版习题答案。覆盖和解析都比较全面。

2022-06-06

热力图算法实现(C#、包含源码、示例)

使用C#语言实现的热力图算法,有WPF示例程序,可直接运行看效果。

2022-06-02

C#实现的一元四次方程求解源代码

C#实现的一元四次方程求解源代码,对一元四次方程ax^4+bx^3+cx^2+dx+e=0进行求解。

2022-06-02

C#实现的树形图控件源码

C#实现的树形图算法,能够定制大量树形结构的图。包含WPF示例程序,能够直接运行。算法大致为,指定每个元素的宽高,元素与元素的间距、层与层的间距,然后计算出每个元素的位置。

2022-06-02

C#实现的云图算法(源代码、示例程序)

使用C#语言实现的云图算法(源代码),包含使用WPF写的示例程序,可直接运行看效果。

2022-06-02

虚拟Modbus协议设备软件

类似于Modbus Slave但更强大的虚拟设备软件。 1、支持Modbus-RTU、Modbus-TCP协议。 2、支持串口、TCP、UDP等连接方式。 3、数据可以随机变化。 4、支持自定义设备通信协议,也就是不一定是Modbus协议。 5、支持多设备共用串口,任意从机地址都能回复。 运行软件需要先安装.NET6。

2022-06-02

BP神经网络基本架构实现(源代码)

实现了BP神经网络的基本结构,是学习神经网络很好的示例程序,包括以下内容: 1、输入层、输出层、隐含层。 2、可以解决分类问题和回归问题两大问题。 3、多种激活函数、输出函数和损失函数可供选择。 4、实现了梯度下降方法。

2022-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除