自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 EFCore与EF6:ORM技术深度解析

ORM(对象关系映射)技术通过将数据库表映射为程序对象,简化了数据库操作。EF Core和EF6是.NET平台下的ORM框架,支持LINQ查询、数据迁移等功能。EF Core是跨平台的新版本,而EF6仅支持.NET Framework。使用ORM时可通过代码优先或数据库优先方式创建模型,并利用数据注解配置映射关系。核心功能包括DbContext管理数据库连接、Linq查询、增删改操作及数据库迁移。开发时需通过NuGet安装相应包,在程序包管理器控制台执行迁移命令,实现模型与数据库的同步。该技术显著提升了开发

2025-09-08 19:09:52 1612

原创 三大WPF MVVM框架对比:MVVMLight、CommunityToolkit.Mvvm 与 Prism

WPF MVVM框架对比分析MVVMLight、CommunityToolkit.Mvvm和Prism的核心差异。MVVMLight轻量但已停止维护,适合小型项目;CommunityToolkit.Mvvm为微软官方推荐,采用源码生成优化性能,适合现代开发;Prism提供模块化、导航等企业级功能,适合复杂应用。性能上,MVVMLight启动最快,Prism扩展性最佳。推荐新手使用CommunityToolkit,企业项目选择Prism,旧项目维护可沿用MVVMLight。迁移时,CommunityT....

2025-06-27 19:43:01 2421

原创 Prism框架实战:快速上手WPF开发

Prism框架是一个用于构建模块化、可维护的WPF/Xamarin/UWP应用的开源框架。其核心功能包括:模块化开发(动态加载独立模块)、依赖注入(Unity/DryIoc容器)、MVVM模式支持(BindableBase、DelegateCommand等工具)、基于区域的导航系统、事件聚合器(低耦合通信)和对话框服务。通过示例展示了从环境配置到实现视图导航的完整流程,包括区域定义、ViewModel绑定和命令处理。Prism的优势在于解耦UI与业务逻辑,支持动态扩展,便于单元测试,适合开发复杂的企业级应用

2025-06-25 19:01:38 1345

原创 WPF CommunityToolkit.Mvvm

摘要:CommunityToolkit.Mvvm是微软推出的轻量级MVVM框架,适用于.NET跨平台开发。核心功能包括ObservableObject属性通知基类、RelayCommand命令封装和消息总线支持,通过源码生成技术显著提升性能。框架提供现代化语法支持(如C#记录类型)和零依赖设计,可减少75%样板代码。典型应用场景包含表单验证、异步命令处理和依赖注入集成,在WPF/UWP/Xamarin/MAUI等平台上性能表现优异。安装只需通过NuGet添加包并启用C#9+语言版本,官方推荐结合验证属性和A

2025-06-24 19:38:47 1332

原创 WPF中MVVM和MVVMLight模式

MVVM模式通过分离视图、视图模型和模型,提升代码可维护性。MVVMlight作为轻量级框架,简化了MVVM实现:模型层管理数据并支持变更通知;视图模型层连接模型与视图,处理业务逻辑;视图层专注UI展示。关键技术点包括INotifyPropertyChanged接口实现、ViewModelBase继承和ObservableCollection应用。该框架还提供RelayCommand简化命令绑定,使开发者无需直接实现ICommand接口。这种架构显著提高了软件的可测试性和复用性,特别适合大型项目开发。

2025-06-23 20:48:06 1308

原创 西门子s7第三方(S7netplus)读写操作

西门子s7第三方(S7netplus)不同类型读写操作

2024-07-30 17:40:10 4926 5

原创 C#线程(Thread)与线程顺序的列子

C#线程(Thread)与线程顺序的列子

2024-01-22 20:24:32 1470 1

原创 C#委托(delegate)与委托作为函数的参数使用

C#委托(delegate)与委托作为函数的参数使用

2024-01-15 21:26:14 3961

原创 Halcon一维码与二维码识别技术解析

Halcon机器视觉系统提供了一维码和二维码的完整处理方案,支持多种编码格式(如EAN-13、QR码等)。其核心技术包括:1)通过图像预处理增强条码对比度;2)自动定位和解码算法;3)参数可调校的识别模型。系统能处理复杂场景下的条码识别,包括旋转、畸变、微小尺寸等情况,并支持批量处理和多类型条码混合识别。典型应用于工业检测、物流追踪等领域,特别适合需要高精度识别的自动化场景。

2025-09-18 21:00:14 482

原创 Halcon 相机标定

使用Halcon进行相机标定的详细过程,主要包括标定原理、标定板制作、标定步骤和实际应用。相机标定通过确定相机内参和外参来矫正镜头畸变,Halcon支持Division和Polynomial两种畸变模型,推荐使用后者以获得更好效果。标定需要Halcon标定板,其包含7×7圆形标志点阵列,并详细说明了标定板规格和制作方法。标定过程包括采集多角度图像、设置参数、品质评估和参考位姿确定等内容,强调图像数量、光照均匀性和标定板覆盖范围对精度的影响。最后介绍了标定结果的应用,包括坐标转换和图像畸变矫正的算子使用方法

2025-09-18 20:46:20 1488

原创 Halcon编程指南:符号与元组操作详解

文章系统介绍了Halcon编程中的核心语法与图像处理技术,主要内容包括:1.基础语法(赋值、比较、流程控制);2.Tuple元组操作(定义、索引、集合运算);3.图像处理核心概念(Image结构、Region区域特征、XLD亚像素轮廓);4.关键算子应用(图像读取/转换、阈值分割、轮廓提取)。特别详细说明了图像窗口控制、数据类型转换格式化和多通道图像处理方法,为机器视觉开发提供了完整的语法参考和技术实现方案。(150字)

2025-09-12 20:35:00 701

原创 Halcon 图像二值化多算子详解(斑点工具)

图像二值化是计算机视觉的基础技术,用于将灰度图像转换为黑白二值图像,便于后续分析。摘要介绍了多种二值化方法:固定阈值法(threshold)、连通区域处理(connection)、形状过滤(select_shape)、自动阈值(auto_threshold)、最大可分性阈值(binary_threshold)、字符分割(char_threshold)、双阈值(dual_threshold)、动态阈值(dyn_threshold)、局部自适应阈值(local_threshold)和基于方差的阈值(var_th

2025-09-12 10:02:24 493

原创 Halcon交互绘图与ROI操作

本文介绍了交互式绘图系统中的关键操作函数,包括绘制圆形、椭圆、多边形、直线等基本图形的函数(如draw_circle、gen_ellipse),以及区域操作函数(如交集、合并、补集计算)。同时详细说明了区域和轮廓的测量函数(如smallest_circle、area_center)和对象管理函数(如sort_region、select_obj)。这些函数支持图形轮廓(xld)和区域(region)的创建、编辑、分析和存储,为计算机视觉和图像处理提供了完整的绘图工具链。

2025-09-11 09:19:36 347

原创 线程编程:高效并发与锁机制详解

线程是程序执行的路径,每个线程定义独立的控制流。通过多线程可提高程序效率,处理耗时任务。线程生命周期包括未启用、就绪、不可运行和死亡状态。C#使用System.Threading.Thread类创建线程,主线程默认存在。线程锁(如Monitor类)可解决资源竞争问题,确保线程安全。异步编程通过Task类实现,避免阻塞主线程,支持任务取消和状态监控。同步编程简单但效率低,异步编程高效但复杂。互斥确保临界资源单线程访问,同步控制线程执行顺序。合理使用线程和任务能优化程序性能。

2025-09-10 19:00:14 907

原创 C#中Task与Thread的区别

摘要: C#中的Task和Thread是多线程编程的核心机制,但存在显著差异。Thread直接对应操作系统线程,资源占用高,适合长时间运行任务;Task基于线程池管理,资源利用率高,支持异步编程(async/await)、返回值、异常处理和任务组合,适合短时任务和复杂并发逻辑。Thread提供精细控制(如优先级),但缺乏原生取消支持;Task则集成CancellationToken等现代特性,代码可维护性更强。开发中优先推荐Task,仅在需要长期运行或底层控制时使用Thread。

2025-09-10 10:08:29 1218

原创 LINQ to SQL入门与实践指南

本文介绍了LINQ to SQL的基础使用方法和常见问题解决策略。LINQ to SQL作为.NET Framework的ORM工具,通过将数据库表映射为C#类,简化了数据操作。主要内容包括:1)基本使用步骤(创建数据模型、执行查询、提交更改);2)常见问题及解决方案(性能优化、异常处理、映射问题);3)具体操作示例(查询、删除、添加、编辑数据)。文章还提供了代码片段展示如何通过LINQ to SQL实现CRUD操作,并强调正确使用该工具可提高开发效率。

2025-09-09 20:38:29 675

原创 EntityFramework 四大模式详细讲解

EntityFramework是微软基于ADO.NET开发的对象关系映射(ORM)框架,支持主流数据库。它提供三种开发模式:Database First(基于现有数据库生成模型)、Model First(通过可视化设计器创建模型和数据库)和Code First(通过代码定义模型生成数据库)。其中Code First又分为空模型和数据库驱动两种方式,支持数据迁移功能来同步模型与数据库结构。相比其他ORM框架,EF通过抽象化数据结构,让开发者可以用面向对象的方式操作数据库,提高开发效率。文章详细介绍了三种模式的

2025-09-09 09:08:33 1101

原创 Git 超详细使用教程(二)分支操作 远程库操作

本文介绍了Git分支管理和远程库操作的核心内容。分支管理部分详细说明了分支的创建、切换、合并(包括快进合并和冲突解决)、查看、重命名和删除等操作,以及分支在并行开发中的优势。远程库操作部分涵盖了远程库的创建、克隆、关联、查看、同步和删除等基础操作,重点讲解了SSH密钥配置、分支关联机制以及代码推送和拉取的具体方法。文章还详细解释了本地分支、本地远程分支和远程分支的关系,以及如何通过fetch和pull命令实现远程更新的本地合并。这些内容为开发者提供了完整的Git协作开发流程指导。

2025-09-08 09:13:42 1177

原创 Git 超详细使用教程(一)按照及初始化 本地库基本操作

本文详细介绍了Git的安装配置及本地库基本操作流程。主要内容包括:1) Git安装方法和GitHub账号注册;2) 签名设置(项目级和系统级)及优先级规则;3) 本地库初始化与基本操作命令:添加(add)、撤回(restore/checkout)、提交(commit)、状态查看(status/log)等;4) 版本控制方法:重置(reset)、恢复(revert)及差异比较(diff);5) 文件操作:重命名(mv)、删除(rm)及忽略规则(.gitignore)。重点讲解了暂存区与工作区的交互机制,以及如

2025-09-06 09:13:31 1022

原创 VisionPro联合编程相机拍照 九点标定实战

本文介绍了机器视觉中的九点标定法,用于建立相机像素坐标系与机器人空间坐标系的转换关系。主要内容包括:1. 手眼标定的基本原理和作用;2. 九点标定法的实现过程,通过9个标定点建立仿射变换矩阵;3. 系统实现方案,包括图像采集、坐标转换和误差计算;4. 代码实现展示,使用Cognex VisionPro库完成标定功能。系统能实现像素坐标到物理坐标的转换,并通过RMS误差评估标定精度,为机器人视觉引导提供基础支持。

2025-09-05 16:27:24 870

原创 VisionProCogCalibNPointToNPointTool 九点标定详细讲解

VisionPro标定工具实现高精度坐标转换 摘要:VisionProCogCalibNPointToNPointTool是康耐视视觉软件中的关键标定组件,用于建立图像与物理坐标的精确映射关系。该工具支持多点到多点标定,提供仿射、投影和多项式等多种变换模型,通过最小二乘法拟合最优转换矩阵。使用流程包括数据准备(至少4组对应点)、参数配置和执行标定,同时提供RMS误差分析功能确保精度。特别适用于机器人引导、视觉测量等需要高精度空间转换的工业场景。使用时需注意标定点均匀分布和单位一致性,典型应用包括手眼标定和尺

2025-09-05 14:36:23 503

原创 VisionPro工业相机 硬触发操作前以及Vs实现

本文介绍了相机硬触发配置的实现方法,主要包括VisionPro和C#两种方案。在VisionPro中需配置网络IP、自定义属性及触发器模式;在C#中通过CogAcqFifoTool设置触发参数,包括触发模式、信号源、边沿类型等关键属性。两种方法均需注意项目需生成x64版本才能识别相机,并提供了完整的硬件触发参数配置代码示例,涵盖闪光灯控制、延迟设置等核心功能实现。

2025-09-04 14:43:43 494

原创 深入理解串口通信原理及应用

本文详细介绍了串口通信的工作原理、数据格式、通信协议和应用场景。串口作为一种异步串行通信方式,通过起始位和停止位实现数据同步,具有线路简单、成本低的优点。文章阐述了RS-232、RS-422/485等常见串口标准的特点,分析了串口在工业控制、外设连接等领域的广泛应用。同时介绍了串口接口电路设计要点和编程方法,并探讨了高速串口、无线串口等新技术发展趋势。串口通信技术凭借其通用性和可靠性,在嵌入式系统和工业自动化领域仍具有不可替代的作用。

2025-09-02 09:13:21 685

原创 VisionProC#联合编程相机实战开发

本文介绍了使用C#进行康耐视相机二次开发的实战案例。主要内容包括:1)通过CogAcqFifoTool实现相机连接与图像采集;2)封装LoadVpp方法实现工具配置文件的动态加载;3)实现拍照检测和本地图片检测功能;4)开发相机参数配置和ToolBlock作业配置窗体;5)实现图像显示、实时预览和保存功能。关键技术点包括线程安全的图像处理、VisionPro工具链集成、异常处理等。文中还提供了完整的代码实现,展示了如何通过C#与VisionPro SDK结合实现工业视觉检测应用。

2025-09-01 18:17:09 1619

原创 VisionProC#联合编程连接相机超详细讲解以及常见的问题解决

本文介绍了使用C#连接工业相机的实现方法。首先说明了环境配置要求,包括IP设置和巨型帧调整。然后详细讲解了两种连接方式:1)通过CogFrameGrabber和ICogAcqFifo对象实现拍照和实时显示功能;2)使用CogAcqFifoTool工具配置相机。文章提供了完整的代码示例,包括相机初始化、图像采集、参数设置等关键操作,并强调了x64环境配置的重要性。最后指出下一章将介绍VisionPro联合编程相关内容。

2025-09-01 09:14:09 422

原创 VisionProC#联合编程火花塞距离检测与VisionPro操作

本文介绍了使用VisionPro和C#联合编程检测火花塞距离的方法。主要内容包括:1)VisionPro中的PMA模板匹配工具应用及三种距离(A、B、C)的测量技术,涉及找线、卡尺等工具配合使用;2)C#编程实现图像加载、处理结果显示,通过CogToolBlock工具块调用VisionPro方案;3)两种获取结果的方法及注意事项,包括图像类型转换问题;4)提供了编辑作业窗体的实现思路和完整代码示例,展示了从图像选择到结果输出的完整流程。文章重点演示了如何将VisionPro视觉工具与C#程序集成,实现自动化

2025-08-31 20:41:51 828

原创 VisionProC#联合编程筛子统计与VisionPro操作

本文介绍了使用VisionPro和C#联合编程实现骰子点数统计的案例 再用CogBlobTool进行斑点检测 最后用CogCreateGraphicLabelTool显示结果。C#编程时建议使用TBlock工具块封装流程,通过LoadObjectFromFile加载.vpp方案文件,并详细说明了图像处理、结果获取的代码实现方法(包括单个图片处理和批量图片切换处理)文章还特别强调了彩图/灰度图转换、路径设置、参数传递等注意事项,并提供了完整的示例代码,展示了如何通过cogRecordDisplay控件显示处理

2025-08-31 10:30:01 1067

原创 VisionPro联合编程详细介绍小白必看

《康耐视VisionPro与C#联合开发指南》摘要:本文介绍了康耐视VisionPro视觉处理软件与C#语言的联合开发方法,详细讲解了环境搭建、系统集成和实例开发流程。通过C#调用VisionPro的.NET库实现图像处理、特征提取等功能,并以实例演示了从项目创建到自动化检测的实现过程,同时提供了常见问题的解决方案。文章为工业自动化视觉检测系统的开发提供了实用指导。

2025-08-30 14:52:24 559

原创 WPF和WinFrom区别

WPF的核心概念 、优势、适用场景等 以及WPF和Winfrom区别

2025-08-30 14:19:16 807

原创 C#连接SQL-Server数据库超详细讲解以及防SQL注入

本文介绍了C#连接SQL Server数据库的两种实现方式:ADO.NET原生连接和Entity Framework Core。重点讲解了ADO.NET连接的核心步骤:配置连接字符串、执行SQL命令(ExecuteNonQuery、ExecuteScalar、ExecuteReader)、数据读取和事务处理。同时提供了防SQL注入的方法,推荐使用参数化查询而非字符串拼接。文章还包含多个实用案例代码,如执行增删改查、获取数据集、处理事务等。最后提到Entity Framework Core可以简化数据库操作,

2025-08-29 20:06:04 1730

原创 SQL-Server分页查询多种方法讲解以及分页存储过程

先top前11条行记录,然后利用max(id)得到最大的id,之后再重新再这个表查询前10条,不过要加上条件,where id>max(id)。还有一种方法也算是属于这种类型的,这里就不放代码出来了,只讲一下思路,就是先查询出前10条记录,然后用not in排除了这10条,再查询。offset A rows ,将前A条记录舍去,fetch next B rows only ,向后在读取B条数据。先用子查询查询出在目标范围之前的记录,再使用not in 取出不在子查询范围内的前N条记录。

2025-08-29 19:30:06 911 1

原创 VisionPro联合编程控件导入WinFrom以及VS卡死问题

方法2也是最简单最暴力的方法 直接在工具箱右键添加选项卡 然后再去ReferencedAssemblies文件夹全选复制 粘贴到新建的选项卡 可能会卡一会 但是加载完成之后是没有图标的就导致和我要添加引用情况一样 第二张图 就当我要添加图标重新添加引用的时候 问题就出现了导致vs一直卡死情况 如下图。怀疑是不是项目太大或者其他的项目问题导致加载缓慢,尝试不创建项目,直接在空窗口里,选择工具箱项,还是一样卡住不动,之后窗口内什么位置都会变白卡死,只能关闭或者重启程序。和一起下载的相关驱动。

2025-08-28 19:54:18 482 1

原创 VisionPro工具认识以及介绍

VisionPro是一款多功能机器视觉工具集,涵盖2D/3D图像处理全流程。核心功能包括:图像预处理(直方图均衡、中值滤波等)、精确定位(PatMax、Blob分析)、几何测量(圆/线/角度检测)、识别验证(OCR/条码)、缺陷检测(模板对比/纹理分析)以及3D点云处理。系统支持多协议通信集成,可根据不同场景灵活组合工具,如高精度检测采用PatMax+测量工具组合,高速产线使用Blob定位配合条码识别。该工具集适用于工业检测、自动化控制等复杂视觉任务,能有效提升检测精度和效率。

2025-08-24 15:10:41 1600

原创 认识VisionPro以及与其他视觉软件对比

VisionPro是康耐视公司开发的工业视觉软件平台,提供高精度机器视觉解决方案。其核心功能包括图像采集处理、定位对齐、缺陷检测、测量OCR和3D视觉,采用PatMax等先进算法实现亚像素级精度。平台提供QuickBuild图形化界面和C#/.NET SDK两种开发方式,兼容主流工业硬件,广泛应用于电子制造、汽车、包装等行业。相比Halcon和OpenCV,VisionPro在算法精度和硬件加速方面表现突出,但成本较高。

2025-08-24 15:02:22 1206

原创 工业PLC协议C#开发指南:西门子、三菱、欧姆龙、汇川

本文对比西门子、三菱、欧姆龙、汇川四大工业品牌的通信协议及开发方案。西门子S7协议适合高端PLC控制,三菱MELSEC多用于中小型设备,欧姆龙FINS协议适用于传感器网络,汇川CANopen则侧重伺服驱动。各品牌均提供C#组件库(如S7.Net、MXComponent等),支持以太网、RS485等接口。文章给出各品牌通信代码示例,并分享异步处理、批量读写、连接池等优化技巧,以及Profinet、CC-Link等协议的特点分析,为工业自动化开发提供技术参考。

2025-07-28 10:11:59 754

原创 Modbus协议详解与c#应用

Modbus是工业自动化领域广泛应用的串行通信协议,支持RTU(二进制)、ASCII(文本)和TCP(以太网)三种传输方式。协议采用主从架构,通过功能码(如01读线圈、03读寄存器)实现设备间数据交换。RTU格式紧凑高效,TCP适用于网络环境,ASCII可读性强但效率低。C#可通过NModbus库实现通信,需注意超时处理、数据解析和错误码(异常码最高位为1)。该协议适用于PLC、传感器等工业设备的数据交互。

2025-07-23 19:35:15 985

原创 C# TCP粘包与拆包深度了解

TCP粘包与拆包问题解析及解决方案 摘要:TCP作为面向字节流的传输协议,存在粘包(多个消息合并传输)和拆包(消息分段传输)问题。粘包是TCP优化传输的副作用,能提高带宽利用率;拆包则是应用层解决方案,通过自定义协议(长度前缀法、分隔符法等)确保消息边界清晰。该问题常见于即时通讯、在线游戏等高并发场景。C#示例展示了使用长度前缀法处理粘包拆包,通过4字节长度前缀+消息内容格式,保证接收方能正确解析消息。解决方案平衡了传输效率与数据可靠性,是网络编程中的关键技术。

2025-07-14 20:52:39 1140

原创 TCP心跳机制详解

C#网络编程中的TCP心跳机制是一种用于维护连接可靠性的关键技术。通过在服务器和客户端之间定期交换小数据包,它能有效检测连接状态、防止空闲断开并优化资源管理。该机制实现简单,使用System.Net.Sockets和定时器即可完成,具有高可靠性和低开销的特点。实现时需要注意异步操作以避免阻塞,并通过共享状态保持同步。典型应用场景包括长时间连接、高延迟网络等需要稳定通信的环境。

2025-07-14 19:27:27 1434 2

原创 TCP服务器与客户端三种方法实现

TCP服务器和客户端是实现网络可靠数据传输的核心组件。本文展示了C#中三种实现方式:1) 使用Socket类进行底层控制,详细演示了服务器监听、客户端连接及数据收发流程;2) 采用TcpListener/TcpClient简化开发;3) 使用轻量级开源库SimpleTCP,其通过事件驱动机制简化异步通信。三种方式均包含完整代码示例,涵盖连接建立、数据交换和资源释放等关键步骤。对比指出Socket灵活性高但复杂,TcpListener适中,SimpleTCP最易用但功能有限。特别说明SimpleTCP自

2025-07-11 19:23:54 684

原创 TCP详解:从握手到数据传输的奥秘

TCP(传输控制协议)是互联网的核心传输层协议,提供可靠、有序的数据传输服务。它通过三次握手建立连接,采用序列号、确认机制和滑动窗口确保数据传输的可靠性和流量控制,并通过四次挥手终止连接。TCP具备高可靠性、自适应网络等特点,广泛应用于网页浏览、文件传输、电子邮件等场景。相比UDP,TCP更注重数据完整性而非传输速度,是80%以上互联网流量的基础协议。

2025-07-11 11:35:45 1401

空空如也

空空如也

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

TA关注的人

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