HALCON图像预处理全解析:灰度变换、滤波与背景校正实战指南
最近在啃《HALCON机器视觉与算法原理编程实践》这本书第5章图像预处理让我有点上头。之前做视觉项目我习惯拿到图就开阈值结果检测率忽高忽低后来花了很长时间才发现问题不在分割算法而在预处理阶段——噪声、光照不均、对比度不足这些因素全都在阈值之前埋了雷。这一章篇幅不算长却把灰度变换、滤波、增强、背景校正、形态学预处理串成了一条完整链路算是我这几年最该早一年补上的课。这篇笔记不打算挨个算子念手册而是把第5章里我认为真正影响项目成败的设计思路、参数选择逻辑和容易踩的坑捋一遍。非常适合刚接触HALCON的人看也适合那些已经在调视觉项目、但总觉得“阈值不稳定”的工程师对照自查。如果你以为预处理只是给图像“磨皮”那这一章会告诉你它更像是在给后面的分割算法铺一条稳定可靠的路。1. 图像预处理模块的整体设计思路1.1 为什么阈值前先做预处理机器视觉项目里最经典的一套路是先抓图像再阈值分割得到区域接着做Blob分析或特征测量。很多人第一步就直接threshold觉得只要灰度阈值设得准一切都能解决。实际上工业现场给到视觉系统的原图几乎不会像实验室里那样干净。常见的坑无非这几类环境光在一天内变化导致整体亮度漂移、目标表面有反光或阴影、传感器带有椒盐噪声或高斯噪声、目标与背景灰度差小到阈值怎么都分不开。第5章的思路不是让你把每个算子都堆上去而是帮助你根据图像特点先判断“这图到底缺什么”再决定用灰度转换、滤波、增强还是形态学处理。预处理的目标可以概括为三点抑制无关信息、提升目标与背景的对比度、消除光照等系统性影响。打个比方原图是毛坯房后面阈值分割和特征提取是装修预处理就是把墙面找平、刷底漆。墙面不平后面刷漆再贵也白搭。1.2 HALCON里搭建预处理流水线的基本约定在HALCON里做预处理首先要想清楚图像的类型和通道。工业相机输出3通道RGB图、单通道灰度图、甚至12bit或16bit的uint2图处理方式完全不同。第5章开头就用read_image读取图像再用count_channels确认通道数这个习惯真的很重要。我见过有人在RGB图上直接跑threshold以为它把三层通道自动融合了实际却不是。HALCON里很多算子默认处理当前图像全部通道如果你只想要亮度信息最稳妥的做法是先用rgb1_to_gray转成灰度单通道。只有当你真的需要颜色作为判断依据时才保留彩色通道继续处理。预处理流水线我建议封装成独立过程把算子参数全部暴露出来。比如一个preprocess_image过程内部按顺序做灰度转换、中值滤波、对比度增强参数就设为中值核大小、增强掩码尺寸和Factor。换项目时只需要调参数不需要改逻辑。这样做的另外一个好处是不会把预处理和分割、测量逻辑全缠在一个主脚本里调试时候能少掉很多头发。有一点必须提醒预处理不是越多越好。很多新手容易把所有算子挨个试一遍结果画面确实“好看”了但目标位置、边缘轮廓也被改得面目全非。正确做法是先用最轻量的处理比如一个3x3中值一次emphasize跑完分割看效果不够再加。在HALCON里每多加一个算子就意味着多一份耗时、多一个参数要调也会多一个潜在的图像畸变来源。2. 核心细节解析与实操要点2.1 灰度转换和图像类型判断先说灰度转换。彩色转灰度看起来简单但这里面有个容易被忽略的点不是所有场景都应该转灰度。如果你要检测的是颜色差异比如红色标签和绿色标签转灰度后两者亮度可能非常接近等于自己把核心信息扔掉了。这时应当保留RGB通道或者用decompose3把三个通道分开然后针对特定通道处理。如果目标主要靠亮度区分转灰度就很有必要。以RGB图为例rgb1_to_gray会按亮度权重把三通道合并成单通道。很多相机本身输出的就是Bayer格式HALCON读进来后看上去是RGB实际上需要先做合理的颜色转换。在项目中我一般先看count_channels返回的通道数1通道继续3通道就转灰度。这样写出来的流程可读性和复用性都更好。图像类型也要注意。普通8bit灰度图范围是0到255但很多高动态范围相机输出的是12bit或16bit数据HALCON里通常表示为uint2灰度范围是0到65535。如果你拿处理8bit图的阈值和经验参数去处理uint2图阈值100就相当于砍掉了几乎所有暗部信息。遇到这种情况要么先用scale_image_max做一次线性拉伸要么明确把后续阈值和增强参数都放在0到65535这个量纲下考虑。我在项目里吃过这个亏当时从8bit相机切换到16bit相机所有阈值全要重调就是因为没先检查图像类型。2.2 中值滤波与高斯滤波的选型逻辑噪声抑制是第5章里最让人纠结的部分因为滤波器的选择直接决定后面看得到什么。噪声分很多种最常见的是椒盐噪声和高斯噪声。椒盐噪声就是画面上随机出现的白点或黑点通常来自像素坏点、传输干扰高斯噪声则是灰度值围绕真实值上下浮动的随机噪声低照度下尤其明显。median_image是去除椒盐噪声的利器原理是把当前像素邻域内的像素按灰度排序取中值作为输出。这个算子的好处是能在去噪的同时比较好地保持边缘位置不像均值滤波那样把边界抹糊。它的关键参数是MaskType和RadiusMaskType可以选circle或squareRadius控制滤波核半径。做缺陷检测时我常用半径2到3的圆形中值核。但中值滤波不能滥用。它会把孤立细小的亮目标直接当噪声滤掉。比如你要检测一个只有三四个像素宽度的细小划痕划痕本身的灰度特征和中值噪声很像中值滤波反而会把目标抹掉。所以如果目标非常细小我会先看原始图的直方图确认目标像素数量再决定滤波核大小。高斯噪声更适合用高斯滤波HALCON里有gauss_image通过σ参数控制平滑程度。σ越大平滑效果越强但边缘定位越模糊。对这种副作用处理方法是用emphasize做一次边缘增强找回部分对比度或者切换边缘保留滤波。我的经验是如果图像噪声不明显干脆不上高斯滤波把这一步留给后续算子去适应。2.3 对比度增强的关键参数与副作用第5章对对比度增强的作者观点很务实当图像“发灰”动态范围没有用满时先做灰度拉伸再做细节增强。最简单的拉伸是scale_image_max它把图像最小值和最大值线性映射到0到255效果立竿见影。但要注意如果图像里有一个极亮的反光点scale_image_max会把整个图像整体拉暗反而压缩暗部细节。所以它更适合背景和目标都比较均匀的图像。细节增强常用emphasize。它的参数有掩码宽高和Factor原理是把邻域均值作为低频背景然后用当前灰度减去背景再把差值乘以Factor叠加回原图相当于对局部细节做“放大镜”。因子越大细节越突出但也越容易出现光晕和白边。我在实际项目里一般把Factor控制在1.2到2.0之间先用1.5起步再根据分割效果微调。这里有个很关键的副作用增强对比度的同时边缘的灰度轮廓会被重塑。如果后续要做亚像素测量过度增强会让边缘位置产生系统性偏移。书里在预处理章节虽然没有长篇大论但字里行间都在提醒一件事预处理是为后面的算法服务不是为了让图像在显示器上好看。你看着舒服不代表测量算法能得到更准的结果。3. 实操过程与核心环节实现3.1 一个用于划痕检测的预处理小流程直接上一套我调试过的完整流程场景是某产品表面的划痕检测。原始图像有少量噪声划痕和背景的对比度偏低但光照比较均匀。第一步读图并检查通道如果是彩色图先转灰度然后中值滤波去噪再做一次轻量增强最后阈值分割和连接。read_image (Image, scratch_sample.png) count_channels (Image, Channels) if (Channels 3) rgb1_to_gray (Image, GrayImage) else GrayImage : Image endif * 去除椒盐噪声半径2的圆形核不会抹掉太细的划痕 median_image (GrayImage, ImageMedian, circle, 2, continued) * 增强划痕跟背景的灰度差Factor不要过大避免边缘带光晕 emphasize (ImageMedian, ImageEnhance, 5, 5, 1.6) * 用固定阈值做第一次粗分割 threshold (ImageEnhance, Region, 80, 255) connection (Region, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, area, and, 100, 99999)这段代码里的threshold参数看起来简单但它依赖前面预处理的稳定性。假如噪声没去干净阈值80就会带入大量孤立小区域假如增强Factor过高划痕边缘会多出一圈虚假亮带区域面积也会莫名变大。所以每跑一次分割我建议在调试窗口把ImageMedian和ImageEnhance叠加显示在同一切面上观察边缘有没有出现异常偏移。通过这个流程你会发现真正影响分割结果的不是最后那个阈值而是中值半径和增强Factor。这个认识是第5章给我最大的启发——调参别只盯着分割阈值而要把预处理参数当成分割算法的一部分来调。3.2 光照不均匀场景的背景校正方案光照不均是工业视觉里最头疼的问题之一常见表现是图像角落偏暗、中心偏亮或者出现大面积渐变阴影。这种图如果直接设固定阈值暗区的目标可能被切掉亮区的背景可能被判成目标。第5章提供的基本思路是“先估计背景再把背景减掉”。估计背景最简单的办法是做大尺寸均值滤波比如mean_image。因为背景的灰度变化是缓慢的目标或缺陷则是局部突变所以用一个大核均值滤波可以得到一个近乎只有背景信息的图。然后用sub_image把原图减去背景再叠加一个偏置值保证灰度不跑到负区间。read_image (Image, illum_sample.png) rgb1_to_gray (Image, GrayImage) * 核尺寸要远大于目标尺寸最好整成光源渐变的1到2倍 mean_image (GrayImage, Background, 61, 61) * 原图减背景偏置128让结果落在0到255范围 sub_image (GrayImage, Background, Corrected, 1, 128) median_image (Corrected, Clean, circle, 2, continued) * 也可以用局部阈值看暗目标 dyn_threshold (GrayImage, Background, RegionDyn, 15, dark)这里有一个容易出错的地方mean_image的核尺寸如果小于目标尺寸目标本身也会被平滑掉一部分减背景后目标灰度会变弱甚至消失。正确做法是核尺寸取目标最大尺寸的3到5倍比如目标大约是20个像素宽核可以用61或81。光照变化如果很缓慢甚至可以更大。另外校正后的Corrected图里背景会变成一个接近128的平坦灰度目标要么明显高于128要么明显低于128这时候再配合dyn_threshold就非常舒服。我觉得这一小节能让很多“阈值怎么调都不行”的项目瞬间找到出路。背景校正不是高深算法但它比盲目调阈值可靠得多。3.3 边缘保留滤波在预处理阶段怎么用第5章提到了一个很现实的问题普通滤波在去噪的同时会模糊边缘如果后面要提取亚像素边缘边缘梯度变平会导致位置不稳。针对这种情况需要边缘保留滤波。HALCON新版里有各向异性扩散和双边滤波这类算子它会让灰度在梯度方向上的扩散被抑制在平坦区域则平滑得比较充分。我在做边缘测量项目时经常要用到这类处理。传统高斯滤波一上去原本清晰的边缘变成了一个平缓斜面edges_sub_pix提取出的轮廓位置随着σ变化会小范围漂移。而边缘保留滤波能在抑制噪声的同时维持边缘两侧的灰度突变这对亚像素定位意义很大。使用边缘保留滤波时要关注两个维度空间域半径控制平滑范围灰度域阈值控制边缘保护程度。阈值设得太小保护太强很多地方没被平滑噪声依旧设得太大边缘保护失效又变回高斯滤波。实际调试时可以用实时显示反复看滤波前后的梯度图直到噪声明显减少且边缘两侧没过早摊平。这个调参过程没太多捷径建议每次只动一个参数。4. 形态学预处理的取舍与高级思路4.1 灰度形态学算子组和基本应用二值形态学大家都不陌生灰度形态学在预处理里同样有用。它把图像当成一个灰度曲面膨胀会让亮区域扩张腐蚀会让亮区域收缩。HALCON里有一组对应的矩形核算子比如gray_dilation_rect、gray_erosion_rect、gray_opening_rect、gray_closing_rect用起来比构造复杂结构元素省心。灰度开运算是先腐蚀再膨胀效果是去掉比结构元素小的亮结构同时保留大的亮区域灰度闭运算是先膨胀再腐蚀效果是填平比结构元素小的暗区域。这个行为非常适合作背景估计和目标增强。比如图像背景里有很多细小的亮噪声用一次灰度开运算就可以把这些噪声吞掉同时不改变大面积背景的趋势。我一般会把开运算当作“局部最小值背景”的工具代替大核均值滤波。均值滤波会把目标的一部分亮度平均进背景开运算则更倾向于保留暗背景本身。对暗背景上找亮缺陷的场景灰度开运算做背景估计的效果往往比均值滤波更好。4.2 用灰度开运算估计背景并提取小目标提取小目标有一个经典组合原图减去开运算结果得到的差值图会突出比周围更亮的小斑点或线条。反过来闭运算结果减去原图会突出比周围更暗的小缺陷。这两组操作在效果上很像顶帽和底帽区别在于直接用灰度形态学算子当作背景估计不需要额外构造结构元素图像。举个例子要在一张表面灰度不均匀的零件图上找暗色麻点可以先做一次灰度闭运算把暗麻点填掉得到一张“没有麻点”的估计背景图再拿原图减掉这张背景剩下的暗部差值就是麻点所在的区域线索。这样处理后的图像后面配合dyn_threshold或threshold都会简单很多。我实际用到的代码大致是这样* 用矩形核做灰度闭运算估计没有暗缺陷的背景 gray_closing_rect (GrayImage, BackgroundClose, 15, 15) sub_image (BackgroundClose, GrayImage, Diff, 1, 128) threshold (Diff, RegionDefect, 135, 255)这里的核宽高需要大于最大麻点尺寸否则麻点没被完全填掉闭运算后背景里还残留麻点阴影减出来就不准。另外sub_image后面的偏置128不是随便选的它会把无缺陷区域拉到128附近有缺陷区域则明显高于128阈值就好设了。4.3 测量场景下必须谨慎使用形态学预处理形态学预处理虽然好用但它本质上是在修改灰度曲面。对目标做测量时任何形态学处理都可能改变目标的实际几何边界。尤其是灰度腐蚀和灰度膨胀会让边缘梯度包络整体移动最终亚像素轮廓定位也随之偏移。这个副作用在单一像素级别上可能不明显但高精度测量项目里0.01毫米的偏移就足以让装配失败。所以我现在的习惯是如果项目最终目的涉及亚像素测量预处理只做去噪不做增强和形态学处理。宁可让图像稍微“脏”一点也要保证边缘在原始灰度基础上尽可能忠实。如果需要去除背景光照我会用减背景的方式而不是用灰度腐蚀膨胀。如果项目只是做分类、计数、有无检测不关心精确尺寸那形态学预处理的灵活性就大很多。因为这时图像经过形态学处理后虽然边缘位置变了但目标的拓扑结构比如孔洞数量、相对位置和面积排名通常不会发生质变。本质上预处理的选择取决于算法链路最后关心的是“在哪里”还是“是什么”。5. 常见问题与排查技巧实录5.1 滤波后边缘为什么变糊这是排查频率最高的问题。表现是滤波后图像看着干净了但后面提取边缘时轮廓细节丢失宽度变粗。最常见的原因是滤波核太大或者高斯滤波σ过大把边缘两侧的灰度梯度压平了。另一个原因是emphasize参数里的Factor调得过高反而在边缘周围生成了宽光晕。排查时可以对比滤波前后的梯度图。用Sobel算子分别计算原图和处理图的边缘幅值看边缘峰值的宽度变化。如果峰值宽度明显增加说明平滑过量。这时候优先减小滤波核尺寸或者改用中值滤波、边缘保留滤波。调参原则是一次只动一个参数不要同时改核尺寸和增强因子否则很难定位是谁把边缘搞糊的。5.2 dyn_threshold误检阴影块怎么办dyn_threshold是一个很实用的局部阈值算子它把原图和一个背景图逐像素比较超过偏移量OffSet的区域判为目标。许多人在使用时会遇到阴影区域也被误检成目标或者目标边缘多出一圈暗轮廓。常见原因有三个背景图核尺寸不合适导致背景图里还残留目标轮廓偏移量太小轻微灰度波动也被判定为变化预处理没有抑制噪声让像素级噪声在比较时频繁穿越阈值。我建议先用开运算或大核中值生成更干净的背景图再适当加大OffSet让真正有意义的目标轮廓才能通过比较。如果阴影仍然存在可以在得到区域后用闭运算或select_shape过滤掉太规则的大块区域。5.3 预处理把尺寸测偏了我有过一次印象很深的调试经历。某次宽度测量项目测量结果始终比基准值小0.05毫米左右。图像看起来非常清晰预处理也算不上激进只是顺手加了一个emphasize增强因子为3。后来把增强去掉只保留中值滤波测量值立刻回到基准值附近。原因就是emphasize让边缘高亮度侧向外扩、低亮度侧向内收亚像素边缘定位整体发生了偏移。从那以后我对所有亚像素测量项目都保持一个原则做完预处理后先在一个已知尺寸的标准件上验证测量值确认没有引入系统性偏差再去跑批量。如果发现测量结果稳定但偏小或偏大优先怀疑预处理环节而不是急着改标定系数。现象排查方向常用对策边缘模糊滤波核过大、增强过度减小核尺寸、降低Factor、改用边缘保留滤波阈值后阴影误检背景图不够干净、偏移量太小换更大核或灰度开运算估计背景增大OffSet测量值系统性偏移增强算子改变了边缘轮廓去掉增强/形态学用标准件验证细小缺陷丢失中值核太大缩小中值半径或先用小核再增强这里面的规律很一致预处理的核心是保住你真正关心的信息丢掉的是噪声和无关背景而不是反过来。第5章后面还有很多内容在教你分割和特征提取但我个人觉得预处理才是这一章最有“技术含量”的地方。它不是可选项而是一个需要根据目标、光照、噪声、测量精度反复权衡的模块。说到底图像预处理没有标准答案甚至不同批次的图像可能适合完全不同的参数。我现在的习惯是拿到新图像先问自己三个问题图像里什么东西最影响后续分割我关心的目标在灰度上有什么特点我能接受的预处理副作用有多大把这些想清楚了再打开算子浏览器你会发现选择突然变得简单了。

相关新闻

深入解析依赖注入与控制反转原理及实践

深入解析依赖注入与控制反转原理及实践

1. 依赖注入与控制反转的本质解析在软件开发领域,依赖注入(DI)和控制反转(IoC)这两个概念经常被同时提及,但很多开发者对它们的理解仍停留在表面。我第一次接触这两个概念是在重构一个遗留系统时&#xff0…

2026/10/15 12:09:25 阅读更多 →
教育场景下AI辅助工具选择与优化实践

教育场景下AI辅助工具选择与优化实践

1. 项目概述:教育场景下的AI辅助工具选择困境去年我在指导一个继续教育项目时,发现超过60%的学员提交的作业存在明显的AI生成痕迹。这促使我开始系统性地测试各类号称能"降低AI率"的工具,并在三个学期内持续追踪了200多名学员的使用…

2026/10/15 12:09:25 阅读更多 →
SpringBoot+Vue企业级购物系统架构与实战

SpringBoot+Vue企业级购物系统架构与实战

1. 项目背景与核心价值去年参与某大型社区疫情保供系统开发时,我深刻体会到一套可靠的企业级购物管理系统对民生保障的重要性。这个基于SpringBootVueMyBatis的解决方案,正是我们在实战中迭代出的成熟架构。它不仅解决了封闭管理期间的物资配送难题&…

2026/10/15 12:09:25 阅读更多 →

最新新闻

人脸特征提取三路线:HoG、Dlib与CNN原理及选型指南

人脸特征提取三路线:HoG、Dlib与CNN原理及选型指南

人脸识别这几年从实验室走向了门禁、考勤、相册聚类、甚至手机解锁,几乎成了计算机视觉里最"接地气"的方向之一。但真到动手做项目的时候,很多人会卡在同一个地方:特征到底怎么提?我见过不少朋友一上来就堆深度学习模型…

2026/10/15 13:00:25 阅读更多 →
校园失物招领系统

校园失物招领系统

文章目录前言项目简介项目背景技术栈系统架构核心功能截图后台管理公告管理认证授权认领管理评论收藏失物招领信息消息用户管理首页失物列表发布信息我的发布个人中心核心技术实现项目亮点项目总结项目下载:前言 项目简介 面向高校校园场景的前后端分离 Web 应用&a…

2026/10/15 13:00:25 阅读更多 →
基于4D关联图的多相机实时多人动作捕捉技术解析

基于4D关联图的多相机实时多人动作捕捉技术解析

1. 从"多相机多人动捕"这个硬骨头说起第一次看到"4D Association Graph"这个名词的时候,我正蹲在一个临时搭建的动作捕捉棚里,面对八台同步相机拍出来的画面发愁。画面里三个人在互相传球,手臂交叠、身体遮挡、快速移动&…

2026/10/15 13:00:25 阅读更多 →
SSM在线作业管理系统:从选题到答辩的全链路解析

SSM在线作业管理系统:从选题到答辩的全链路解析

又到了一年毕业设计选题季,后台私信里反复被同一个关键词轰炸:SSM在线作业管理系统。实话说,这个题在计算机毕业设计里属于"经典中的经典",每年都有大量学生选它,但真正能讲清楚"为什么这么设计、每一步…

2026/10/15 13:00:25 阅读更多 →
Network Kit HTTP:三方库版本清单ETag重验证与离线快照保底【鸿蒙心迹】

Network Kit HTTP:三方库版本清单ETag重验证与离线快照保底【鸿蒙心迹】

场景说明: 本文 ManifestHarbor 的 MH-1421、v17、8 个依赖项、ETag "ohpm-v17"、304 响应与 HiLog 均为受控演示数据。示意图不是 DevEco Studio、真机或真实服务器的测试结果;代码依据公开 Network Kit API 设计,尚未在实际 Harm…

2026/10/15 13:00:25 阅读更多 →
Hyper-Frames:无标签视频+里程计自监督预训练,实现低成本运动预测

Hyper-Frames:无标签视频+里程计自监督预训练,实现低成本运动预测

做自动驾驶、移动机器人、无人机导航的同行,应该都有一段被数据集标注反复折磨的经历。最近 Waymo Research 放出的 Hyper-Frames 框架,让我终于看到一条不太一样的路:不用一开始就堆人天去标框、标轨迹、标地图,用无标签视频加里…

2026/10/15 12:59:25 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →