- 博客(169)
- 资源 (3)
- 收藏
- 关注
原创 一种通过半径找圆的方法
该代码实现了一种高效圆环检测算法,基于灰度金字塔与稀疏环核相关,结合高斯-Sobel梯度融合与AVX2优化的稀疏卷积,显著提升速度。通过粗搜(贪心NMS)与精搜(径向截断均值)分阶段定位圆心与半径,支持单帧与连续帧处理,兼容多格式图像输入,可输出可视化结果及详细耗时统计,性能优于传统OpenCV算子。
2026-11-04 15:09:45
7
原创 事件驱动状态机与循环扫描状态机:两种计算模型的比较研究
状态机作为一种基础的计算模型,广泛应用于嵌入式系统、工业控制和软件工程领域。然而,其具体实现呈现出两种截然不同的范式:以 qf4net 为代表的事件驱动状态机(Event-Driven State Machine, EDSM)和以 PLC 阶梯图/SFC 为代表的循环扫描状态机(Cyclic Scan State Machine, CSSM)。本文从执行模型、触发机制、资源消耗、实时性和应用场景五个维度对两种范式进行系统性比较,并通过工业实例阐明各自的优势与局限。
2026-10-12 10:13:14
88
原创 浓淡补正(阴影校正/光照不均匀校正)算法综述:从原理到工程实现
光照不均匀是影响图像质量的关键问题。本文基于统一数学模型,系统梳理了标定类平场校正、空域滤波残差法、除法模型(Retinex)、形态学与频域同态滤波等主流算法,分析其原理、适用场景与局限,并提供可直接运行的Python/OpenCV实现。通过对比表与实践指南,帮助用户根据光照特性与应用需求选择最优校正路径,兼顾精度与效率。
2026-10-12 10:12:33
185
原创 浓淡补正(阴影校正/光照不均匀校正)算法综述:从原理到工程实现
光照不均匀是影响图像质量的关键问题。本文基于统一数学模型,系统梳理了标定类平场校正、空域滤波残差法、除法模型(Retinex)、形态学与频域同态滤波等主流算法,分析其原理、适用场景与局限,并提供可直接运行的Python/OpenCV实现。通过对比表与实践指南,帮助用户根据光照特性与应用需求选择最优校正路径,兼顾精度与效率。
2026-09-28 14:44:24
179
原创 2.5D相位偏折术(PMD)全解析汇总报告:基于条纹反射的高反光表面形貌重建
2.5D相位偏折术(PMD)通过投射正弦条纹并分析镜面反射畸变,实现高反光表面微小斜率的精确测量。基于四步相移与泊松积分,从8张反射图像中同步解算形貌、镜面反射率与底色,输出高度图、SRC图与漫反射图。采用液晶屏离焦调制满足正弦性约束,硬件成本低且支持大视场。虽为相对2.5D测量,无法提供绝对尺度,但在手机盖板、车漆、晶圆等高反光缺陷检测场景中,具备数理严谨性与极高工程可行性。
2026-09-18 16:05:08
233
原创 AI的能力边界,止步于你的认知边界
AI技术的繁荣掩盖了一个残酷现实:它未能真正消除专业门槛,反而放大了认知差距。文章指出,AI仅能执行技术实现,却无法替代领域知识——不懂SCXML的人连提示词都不会写。当前对"提示词工程"的迷信实为悖论:高质量提示词撰写者本身就是专家。AI将人群分为三类:外行(仅获效率微调)、半专家(最大受益者)和全栈专家(如虎添翼)。突围之道在于转变思维:将AI作为导师,通过四步法(概念扫盲、竞品分析、任务拆解、极简迭代)逐步拓展认知边界。最终结论振聋发聩:AI的能力严格受限于使用者的认知水平,未来核心竞争力仍是人类独有
2026-07-13 15:23:35
249
原创 Delaunay 拓扑图割法一种特征抽稀算法
该算法提出了一种基于拓扑结构的特征点抽稀方法,通过Delaunay三角剖分建立点集网络,利用尺度参数(Scale)作为阈值剪断短连接线,保留长跨距连接形成的外轮廓。算法主要步骤包括:1)构建Delaunay三角网;2)基于Scale参数剪断短边;3)通过连通域分析识别并保留大跨距的外轮廓点,剔除孤立杂点。该过程类似于修剪灌木,短小的内部杂波连接被剪断,而长跨距的外轮廓连接得以保留。实验表明,该方法能有效提取图像主要结构特征,去除内部噪声点。算法参数Scale控制修剪力度,值越大保留的特征越稀疏。
2026-06-05 15:51:53
233
原创 简单实现RLE版本connectedComponentsWithStats
摘要 该代码实现了OpenCV中connectedComponentsWithStats函数的简化版本,主要用于连通域分析。核心功能包括: 数据结构:定义了CCStats结构存储连通域统计信息(边界框、质心、方向等)和Run结构表示游程编码。 算法实现: 使用并查集(Union-Find)数据结构高效处理连通域合并 通过两轮扫描完成连通域标记 支持4连通和8连通两种连接方式 主要流程: 初始化并查集和标签数组 第一遍扫描分配临时标签 第二遍扫描处理连通性并合并标签 最终生成连通域统计信息 该实现优化了内存使
2026-04-13 17:18:28
85
原创 工业级形状模板匹配系统设计白皮书
本文提出了一种工业级形状模板匹配系统设计方案,基于LINEMOD算法的改进版本。系统采用稀疏控制点表示模板(ShapePoint结构),通过多级金字塔结构和向量化计算实现高效匹配。关键创新包括:1)无浮点方向量化算法;2)AVX2指令集优化的响应图计算;3)三点抛物线亚像素拟合。系统设计严格遵循40字节内存对齐规范,支持并行后处理。离线阶段通过高斯模糊、梯度计算和方向量化生成模板模型,在线阶段采用粗到精的金字塔搜索策略,结合NMS处理获得最终匹配结果。实验表明该系统在保持高精度的同时,显著提升了工业场景下的
2026-04-13 14:06:05
484
原创 旋转模型的预生成函数,实现特征点的批量旋转变换
本文提出了一种高效的特征点旋转算法,通过SIMD指令实现批量处理,并采用哈希去重优化性能。算法包含7个关键步骤:1)角度归一化;2)计算旋转后尺寸;3)内存预分配;4)SIMD并行旋转计算;5)方向角调整;6)哈希去重;7)坐标归一化。实验表明,该方法相比传统逐点旋转提速4-8倍,内存占用减少30%,特别适用于实时图像匹配系统。主要创新点在于将SIMD优化与哈希去重相结合,在保证精度的同时显著提升计算效率。
2026-02-25 17:39:34
577
原创 基于距离的特征点稀疏化优化
本文提出了两种特征点稀疏化优化算法。基础算法采用自适应距离阈值和贪心策略,通过动态调整距离阈值来选择空间分布均匀的特征点,直到达到目标点数。改进算法利用网格空间划分技术,将特征点分配到网格单元中,每个单元仅保留梯度幅值最大的点,最后通过二次筛选确保点数达标。两种方法都能在保持特征点空间分布的前提下实现数量优化,改进算法效率更高且能更好地保留显著特征点。
2026-02-25 17:26:41
61
原创 从图像中提取亚像素边缘点
本文提出了一种优化的亚像素边缘检测算法,主要改进包括:1) 使用SSE指令并行处理8个像素的梯度计算;2) 采用扫描行缓冲区减少内存访问;3) 通过边界镜像处理提高边缘检测精度;4) 二次曲面拟合实现亚像素定位;5) 动态内存分配优化。算法通过SIMD加速Sobel算子计算,结合牛顿法迭代求解梯度极值,在保证精度的同时显著提升了处理速度。实验表明该方法能有效提取亚像素级边缘特征,适用于高精度机器视觉应用。
2026-02-25 17:01:25
65
原创 递归高斯滤波sse实现
递归高斯滤波是一种高效的高斯模糊算法,采用无限脉冲响应(IIR)滤波器替代传统卷积运算。Deriche算法是其经典实现,通过一阶IIR差分方程和双向递归处理(前向+后向),将二维滤波分解为行列方向的一维滤波。相比传统方法,其计算复杂度仅与图像尺寸相关,而与核大小无关,特别适合大尺度模糊的实时处理。文中还提供了标量实现和SSE2向量化优化的C++代码实现,展示了从系数计算到行列方向递归处理的全过程。该算法在保持高斯平滑效果的同时显著提升了计算效率。
2026-02-24 17:41:18
329
原创 快速atan2(反正切)近似计算函数,专门用于计算atan2(y, x)
函数功能分析输入:a1= x 坐标a2= y 坐标输出: 返回atan2(y, x)的结果,角度范围在[0, 360)度之间prompt。
2026-02-24 16:01:44
94
原创 简单的基于形状的特征提取
该代码实现了一个图像特征提取器,主要包括以下功能:1) 自适应Canny阈值计算,基于图像直方图确定最佳阈值;2) 图像预处理流程,包括高斯模糊、Canny边缘检测和形态学操作;3) 梯度计算,使用Sobel算子获取水平和垂直梯度,并计算幅值和方向;4) 亚像素级边缘提取,通过在法线方向拟合二次曲线实现精确定位。特征提取器支持参数配置,包括Canny阈值、最小组件大小和优化级别等。核心算法结合了传统图像处理技术,为后续特征匹配等任务提供高质量的特征点数据。
2026-02-24 14:44:57
79
原创 特征编码函数
include <immintrin.h> // SIMD支持// 特征点结构float x;// X坐标float y;// Y坐标// 梯度方向 (0-360度)// 梯度幅值// 特征点尺度// 相对主方向// 编码特征结构 (SIFT风格128维描述子)// 128维描述子 (4x4x8)float x, y;// 特征点位置// 特征尺度// 主方向// 归一化描述子// 值域裁剪,增强鲁棒性// 重新归一化// 梯度信息结构。
2026-02-10 10:04:46
55
原创 基于距离的特征点筛选算法和高度优化的atan2函数
本文介绍了两个图像处理优化算法:1) 高度优化的atan2函数实现,使用多项式近似计算角度,分为小角度和大角度两种情况处理,通过象限校正确保结果正确,适用于实时图像处理;2) 基于距离约束的特征点筛选算法,通过逐步调整距离阈值实现非极大值抑制,可根据优化级别动态调整保留特征点数量,在保证最少128个点的前提下按比例筛选。两个算法都针对实时性和计算效率进行了优化,适用于计算机视觉应用场景。
2026-02-10 08:45:31
55
原创 洪水法实现Region RLE的fill_up算法
这篇文章介绍了一种基于反向洪水填充算法的图像孔洞检测与填充方法。核心思想是通过分析背景可达性来识别孔洞:先标记所有能从边界连通的背景区域(外部背景),剩下的未标记背景即为孔洞区域,最后将这些孔洞填充为前景。该算法采用4连通DFS实现洪水填充,相比传统种子填充法具有自动选择种子、避免漏判误判等优势,能适应任意形状的前景区域。文章还提供了一个HTML可视化工具,支持绘图、二值化、RLE编码和FillUp孔洞填充功能,可通过交互式画布直观展示算法效果。
2025-12-31 16:56:59
223
原创 c++实现两个点一个宽度生成一个旋转矩形和计算旋转矩形的四个点坐标
本文介绍了两种几何计算方法:1)根据两点和宽度生成旋转矩形,通过计算中点、距离和角度确定矩形参数;2)生成圆弧卡尺测量点,通过半径、宽度和角度步长计算圆周上的测量点坐标及其法线方向。两种方法都涉及坐标变换和角度计算,适用于计算机视觉和几何处理应用。
2025-12-30 16:22:04
243
原创 c++使用win新api替代DirectShow驱动uvc摄像头,可改c#驱动
摘要:本文介绍了使用Media Foundation (MF)实现UVC摄像头捕获的方法,对比了DirectShow的回调模式和MF的轮询模式。MF采用轮询模式具有控制读取节奏、跳过帧、请求特定样本等优势。文章提供了UVCCamera类的实现,包含设备枚举、初始化、帧捕获等功能,展示了如何通过IMFSourceReader主动请求帧数据,并支持摄像头控制接口。代码示例包括COM和MF初始化、设备枚举、帧捕获线程管理等核心功能。
2025-12-12 10:28:17
615
原创 c# usbipd-win客户端实现参考(submit交互有问题)
文章摘要: 本项目旨在实现Windows双光标功能,使两个鼠标可独立操作。当前遇到技术障碍:虽然已实现设备列表查看和导入功能,但在数据传输环节出现异常,服务端返回的submit包数据不正确。原计划通过usbipd-win劫持鼠标、TCP获取HID数据、Windows消息模拟点击和透明画布绘制光标来实现双光标,但目前连基础鼠标数据获取都未能实现。调研发现类似软件Pluralinput采用自定义驱动方案,而本项目基于usbipd-win的方案因Windows平台缺乏现成客户端而面临较大实现难度。客户端代码已部分
2025-11-27 13:18:20
410
原创 使用SVM构建光照鲁棒的颜色分类器:从特征提取到SVM
在计算机视觉领域,颜色分类看似简单,实则充满挑战。一个红色的苹果在阳光下、阴影中、黄昏时分呈现出的颜色差异巨大。如何让机器像人眼一样,在不同光照条件下准确识别颜色?
2025-10-21 14:05:52
460
原创 PIL与OpenCV双线性插值实现差异导致模型精度不够踩坑
本文对比研究了PIL和OpenCV在双线性插值图像缩放实现上的差异。实验发现,PIL的resize操作在不同缩放路径下结果高度一致(SSIM 0.9986),而OpenCV对中间缩放尺寸更敏感(SSIM 0.9051)。PIL的实现表现出更好的稳定性,可能采用更精确的坐标映射和权重计算。建议在一致性要求高的场景中使用同一图像处理库,避免混合使用PIL和OpenCV的缩放操作,并在关键应用中充分测试预处理效果。
2025-10-15 21:25:46
651
2
原创 基于WebAssembly的STEP文件3D在线查看器实现详解
本文介绍了一个基于Web技术的STEP文件3D查看器实现方案。该方案采用Three.js进行3D渲染,结合OpenCASCADE的WebAssembly模块(occt-import-js)实现STEP文件解析。系统具备模型交互控制、视图切换、着色显示及OBJ格式导出等功能。文章详细阐述了场景初始化、WASM集成、文件解析等关键技术实现,并提供了性能优化建议。该方案支持在浏览器中直接预览STEP格式的3D模型,适用于工程设计和制造领域的模型查看需求。
2025-09-26 21:06:28
1555
原创 程序员秒懂 SolidWorks:3D建模不就是调用API嘛?
本文以程序员视角解析SolidWorks(SW)的底层逻辑,将其类比为专用编程环境。核心观点包括:1)SW本质上是一个面向对象的API库,图形界面操作对应后台函数调用;2)核心概念可代码化理解:草图如函数定义、特征如构建命令、零件如可执行文件、装配体如项目解决方案、工程图如自动文档;3)设计流程类似开发流水线,从草图编码到特征编译,最终生成可迭代的3D模型。文章揭示了SW参数化设计背后的编程思维,帮助技术人员理解这一"可视化编程语言"的工作机制。
2025-09-20 22:13:52
941
原创 SQL高效处理海量GPS轨迹数据:人员gps轨迹数据抽稀实战指南
本文介绍了SQL数据抽稀的四种实战方案及优化技巧。固定间隔抽样性能最佳,适合普通轨迹展示;随机抽样适合统计分析;时间间隔抽样保持时间分布;地理距离抽稀则适合高精度地图场景。文章还提供了索引优化、分区策略等性能优化建议,帮助在保持数据特征的前提下减少数据量,提升系统性能和用户体验。根据数据特性和业务需求选择合适的抽稀方法,能有效降低资源消耗并确保数据代表性。
2025-09-05 16:11:54
1144
原创 用 Highway 来编写一个高效的图像二值化函数
Highway是Google开源的高性能C++ SIMD库,支持跨平台向量化运算。本文展示了如何使用Highway实现高效的图像二值化功能。通过SIMD指令并行处理多个像素,该方案能自动适配不同CPU架构(如x86、ARM等),利用运行时动态分发机制选择最优指令集。核心代码将阈值比较和结果选择向量化,并处理了边界像素。测试显示,相比逐像素处理,该方案能获得5-10倍的性能提升,同时保持代码可移植性。示例包含完整实现、调用接口和CMake配置,适用于计算密集型的图像处理场景。
2025-08-24 00:15:22
582
原创 c#实现鼠标mousemove事件抽稀,避免大数据阻塞网络
鼠标灵敏度优化器:封装类通过灵敏度调整(0.5-10倍)、移动累积(合并微小移动)和阈值过滤(忽略1px以下移动)减少70%数据量。支持环境变量配置,实时统计优化效果(如1000事件仅发送300次),适合远程控制等场景。核心方法ProcessMovement()处理原始坐标,返回优化值或null(忽略)。强制刷新方法FlushAccumulatedMovement()可发送累积位移。 // 典型应用:将(2,1)优化为(1,0),累积3次小移动合并为(2,2) var optimizer = new Mou
2025-08-22 13:54:29
496
原创 Deskflow 原理解读:一套代码,如何让一套键鼠横跨多台电脑?
摘要:Deskflow(原Synergy)通过"截获-转发-还原"机制实现跨设备鼠标控制。Windows端会为每个桌面创建"捕鼠笼"窗口,用钩子捕获鼠标/键盘事件。当鼠标移到边缘时:1)隐藏本地光标;2)覆盖隐形窗口拦截输入;3)关闭加速度。事件经TCP转发后,远端用SendInput精准还原。返回时同步光标位置,实现无缝切换。同时支持键盘、剪贴板及文件拖放的跨设备同步,整套方案延迟极低。(149字)
2025-08-22 11:13:36
1209
2
原创 OLE延时剪切板技术深度解析:从资源管理器支持到远程桌面文件同步 含c++ demo代码 亲测可用
本文探讨了Windows系统中的OLE(对象链接与嵌入)技术与延时剪切板机制。OLE作为高级数据交换技术,允许应用程序间共享结构化数据,支持延时渲染和格式协商。文章重点分析了资源管理器对延时剪切板的支持,包括文件复制/粘贴流程、特殊格式处理及性能优化。同时深入解析了远程桌面如何利用该技术实现透明文件操作,包括虚拟通道、按需传输等机制。通过代码示例展示了远程文件模拟的实现原理,并提出了处理网络延迟、大文件和安全性等实际挑战的解决方案,为开发者提供了Windows高级数据交换技术的最佳实践指南。
2025-08-08 09:21:36
906
原创 瓦片电机 vs 普通轮毂电机:全面对比与深度解析
摘要: 瓦片电机采用弧形磁钢和集中绕组,磁场更接近正弦波,具有更高效率、更大扭矩和更低转矩脉动,适合高速高性能电动车,但成本较高。普通轮毂电机使用矩形磁钢和分布式绕组,成本低但效率较低,适合低速载重场景。两者在磁钢形状、绕组方式、极对数和槽型设计上差异显著,瓦片电机在扭矩密度、高速性能和NVH表现上更优,而普通电机经济性更好。未来随着技术进步,瓦片电机有望成为主流选择。(149字)
2025-08-04 09:41:24
2829
原创 powershell 实现批量把文件夹下的bmp文件转换为jpg
摘要:本文提供了一个PowerShell脚本,用于批量将BMP图像转换为质量85的JPG格式。脚本通过System.Drawing程序集实现图像格式转换,支持指定源文件夹和目标文件夹路径,自动创建目标目录并保留原始文件。使用方法包括保存脚本为.ps1文件后执行,并支持自定义输出路径和质量参数。脚本会显示每个文件的转换进度和结果,处理错误情况,适合需要批量转换图像格式的用户使用。
2025-07-25 21:24:17
357
原创 霍尔传感器自学习原理解析
霍尔传感器自学习的核心是通过开环控制电机旋转,实时采样霍尔信号与电气角度的关系,自动计算霍尔安装的机械偏移量和相序方向。算法流程包括:施加固定电压使电机低速旋转,记录霍尔跳变时的电气角度,通过最小二乘法拟合偏移量,比较连续跳变方向确定相序。关键优化包括动态调整对齐电压、滑动平均滤波和容错机制。该方法适用于无编码器的BLDC控制,但需电机能自由旋转。最终实现自动适配霍尔参数,无需人工校准。
2025-07-08 13:48:53
2029
原创 epson j4轴精度评估
摘要:J4轴可手动扭动而J1/J2不可动,反映了传动系统刚性差异。J4的扭动可能源于皮带传动的弹性变形、张紧不足或机械间隙。需通过静态测试(回差≤0.1°,重复定位±0.05°)和动态测试(激光跟踪)评估精度。轻微扭动偏移<0.2°属正常,>0.5°需检修。提升措施包括调整皮带张紧力、同步轮对齐、PID优化及硬件升级。若静态/动态精度均超差,需紧急维修以避免累积误差影响任务。建议使用激光跟踪仪进行更可靠的动态检测。
2025-07-04 16:01:12
507
原创 c#实现halcon的rle编码blob分析
本文展示了一个基于C#的图像处理类库实现,主要包含以下功能: 实现了图像膨胀、腐蚀、开运算、闭运算等形态学操作 提供了区域连通性分析和特征计算功能 采用RLE(游程编码)技术高效存储区域数据 支持从位图创建区域对象并进行阈值处理 计算区域特征包括面积、边界框和重心等 核心类HRegion使用字典结构存储行号和对应的区间列表,实现了快速区域操作和特征计算。该实现优化了内存使用和计算效率,适合处理二值图像区域分析任务。
2025-06-23 15:17:33
299
原创 opencv实现点到region最小距离,distance_pr
本文实现了一个基于OpenCV的distance_pr算子优化版本。算法首先将二值图像转换为RLE编码表示,然后构建区域凸包以加速距离计算。主要步骤包括:1) 将二值图像转换为RLE编码;2) 计算区域凸包;3) 使用射线法判断查询点是否在凸包内;4) 结合RLE编码和凸包信息进行快速距离计算。该实现通过凸包优化减少了不必要的计算,相比遍历所有像素点的方法更加高效。但未实现Halcon中的SIMD、多线程等进一步优化手段,仅提供了基础功能实现。
2025-06-17 10:11:25
361
原创 OpenCV中两个旋转矩形(RotatedRect)的交集计算优化技巧
这段代码实现了OpenCV中两个旋转矩形(RotatedRect)的交集计算。
2025-04-27 11:57:26
710
原创 工业相机Line1与Line2触发机制详解及电路防护设计
特性Line1 (光耦隔离输入)Line2 (可配置I/O)信号类型专用输入可编程输入/输出隔离方式光耦隔离无隔离(PPTC+TVS防护)防护等级高(隔离电压可达2500Vrms)中等(依赖PPTC+TVS)适用场景高噪声环境/高压场合一般工业环境/需要双向功能的场合。
2025-04-18 11:14:03
1598
step 3d文件在线预览实现,使用html的wasm技术
2025-09-26
js使用canvas实现画roi功能,并实现交集并集差集操作支持圆形,矩形,旋转矩形绘制,鼠标像素拾取,图片缩放,图片拖拽,像素
2024-04-02
yapi baseurl修改版前端静态资源文件
2020-02-27
markdown转html带样式
2018-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅