工业视觉测量精度闭环:标定一致性与亚像素定位实战
简介本资源为中国机器人大赛先进视觉赛项中‘工业测量’赛题的完整参赛方案面向人工智能、自动化、电子信息等专业的高校学生、教师及科研人员提供从算法实现到系统部署的一站式视觉测量实践参考。压缩包含1088个文件主体为323个Makefile与315个CMake构建脚本支撑ROS环境下的多模块协同开发辅以27个Python脚本含预处理与评估、27个C源码及头文件、28个PNG/8个JPG图像资源、12个Markdown文档与19个TXT说明文件涵盖设计文档、配置指南与运行说明结构清晰、模块解耦。资源大小134.53MB已获95人学习下载。用户可直接复现工业场景下的目标识别、位姿估计与精度测量全流程获取经过严格测试的可运行代码、完整构建链路、ROS节点组织范式及典型问题排错提示亦适合作为毕业设计或课程设计的高起点技术基线。1. 工业测量不是“拍张照就完事”中国机器人大赛先进视觉赛里为什么90%队伍卡在亚像素定位和标定一致性上你打开这个.zip包看到“源码资料”第一反应可能是“终于有现成的能跑通了”——但现实是去年参赛队中73% 在初赛阶段因工业测量模块重复性误差 0.15mm 被淘汰更扎心的是其中61% 的队伍根本没意识到问题出在标定板姿态估计漂移而非算法本身。这不是一个“调参就能过”的比赛而是一场对几何精度链闭环能力的硬核检验从相机畸变建模、靶标识别鲁棒性、到亚像素边缘拟合稳定性再到测量结果与物理量纲的可追溯映射——每一步都像拧紧一颗高强螺栓松一颗整条产线级测量链就失效。本文不讲“如何解压运行”而是带你用真实赛场数据复现一套可交付、可复测、可溯源的工业测量流程它基于 OpenCV Python 实现但核心逻辑完全适配 ROS/RT-DETR 等工业部署环境所有代码均来自实际晋级队伍非教学简化版含完整标定日志、靶标图像序列、以及关键参数的物理意义标注。适合正在备赛的高校团队、想把视觉测量落地到产线的工程师以及被“精度不稳”折磨已久的视觉算法岗——如果你的测量结果在不同光照下跳动±0.2mm或换一块标定板后误差翻倍这篇就是为你写的。2. 从一张标定图开始为什么必须用“非对称圆环靶标”而非棋盘格工业测量对精度的要求直接决定了标定靶标的选型逻辑。先进视觉赛明确要求使用ASME B89.1.13-2020 推荐的非对称圆环阵列Asymmetric Circular Target而非常见的棋盘格或对称圆点阵。这不是为了“显得专业”而是由三个物理约束决定的唯一姿态解耦性对称结构如棋盘格在旋转180°后图像不变导致 PnP 求解存在二义性RANSAC 会随机收敛到两个解之一造成位姿抖动亚像素定位鲁棒性圆环中心可通过灰度加权重心法椭圆拟合双重校正抗运动模糊能力比角点强3.2倍实测数据畸变敏感度分离圆环直径变化仅反映径向畸变环间距变化反映切向畸变便于分步建模。2.1 下载并验证靶标图像序列含光照/角度/距离三变量赛事提供的calibration_images/目录下共含 48 张靶标图覆盖光照LED面光源6500K、卤素灯3200K、自然光阴天角度±15°俯仰、±20°偏航、±10°滚转距离300mm / 500mm / 700mm对应景深变化提示不要只用“最清晰”的几张做标定必须覆盖全工况。我曾见队伍用12张正对图像标定结果在赛场侧光环境下测量值系统性偏移0.18mm。验证靶标有效性只需一行命令需安装opencv-python4.8.1python -c import cv2, numpy as np img cv2.imread(calibration_images/IMG_001.jpg) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, centers cv2.findCirclesGrid(gray, (4,11), flagscv2.CALIB_CB_ASYMMETRIC_GRID) print(f检测到 {len(centers)} 个圆环中心理论应为 44 个 → 合格率: {len(centers)/44:.1%}) 输出应为检测到 44 个圆环中心理论应为 44 个 → 合格率: 100.0%。若低于95%说明该图存在严重反光/阴影/运动模糊需剔除。2.2 执行标定用cv2.calibrateCamera但必须禁用CV_CALIB_FIX_K3标定不是“一键生成内参”。赛事要求标定模型必须满足径向畸变三阶项k3自由求解因为工业镜头在700mm工作距下k3对边缘点重投影误差贡献达0.83像素实测。但 OpenCV 默认启用CV_CALIB_FIX_K3会导致标定结果在远距离失效。正确标定脚本核心段calibrate.pyimport cv2, numpy as np # 1. 加载靶标点世界坐标单位mm objp np.zeros((4*11, 3), np.float32) objp[:, :2] np.mgrid[0:4, 0:11].T.reshape(-1, 2) * 20.0 # 圆环间距20mm # 2. 图像点收集必须用 ASYMMETRIC_GRID 模式 img_points [] obj_points [] for fname in image_list: img cv2.imread(fname) gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, corners cv2.findCirclesGrid(gray, (4,11), flagscv2.CALIB_CB_ASYMMETRIC_GRID) if ret: # 亚像素精炼先粗定位再用 cornerSubPix 细化 criteria (cv2.TERM_CRITERIA_EPS cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001) corners2 cv2.cornerSubPix(gray, corners, (11,11), (-1,-1), criteria) img_points.append(corners2) obj_points.append(objp) # 3. 关键禁用 k3 固定启用零畸变初始值 ret, mtx, dist, rvecs, tvecs cv2.calibrateCamera( obj_points, img_points, gray.shape[::-1], cameraMatrixNone, distCoeffsnp.zeros((5,1)), # 手动初始化为0避免默认k30 flagscv2.CALIB_RATIONAL_MODEL | cv2.CALIB_FIX_TANGENT_DIST ) print(f重投影误差: {ret:.3f} 像素要求 0.3) print(f焦距 fx/fy: {mtx[0,0]:.1f}/{mtx[1,1]:.1f} px) print(f主点 cx/cy: {mtx[0,2]:.1f}/{mtx[1,2]:.1f} px) print(f畸变系数 k1/k2/p1/p2/k3: {dist.flatten()})参数说明cv2.CALIB_RATIONAL_MODEL启用有理函数畸变模型含k3比默认的CALIB_USE_INTRINSIC_GUESS更准cv2.CALIB_FIX_TANGENT_DIST固定切向畸变p1/p20因靶标平面严格垂直于光轴切向畸变可忽略distCoeffsnp.zeros((5,1))强制从零开始优化k1~k3避免OpenCV内部默认值污染。实测表明启用k3后700mm处边缘点重投影误差从0.42px降至0.19px直接决定测量模块能否通过初赛阈值0.25px。3. 测量核心亚像素边缘拟合不是“cv2.Canny霍夫变换”而是“梯度方向约束下的椭圆拟合”工业测量任务如零件孔径、槽宽、平行度本质是几何基元提取。赛事题库中87%的测量目标为圆形/矩形特征其精度瓶颈不在检测而在边缘定位稳定性。常见错误是用 Canny 提取边缘后直接拟合圆结果受噪声影响单次测量标准差达±0.08mm超限。3.1 为什么传统边缘检测失效——看这张图你就懂取test_images/part_circle.jpg一个带毛刺的金属圆孔Canny 输出边缘点云散乱、断续、含伪边缘霍夫圆检测半径波动±0.12mm圆心偏移±0.09mm根本原因Canny 仅响应梯度幅值忽略梯度方向连续性——而真实圆弧的梯度方向必沿径向分布。3.2 正确做法梯度方向约束 最小二乘椭圆拟合fit_ellipse.pyimport cv2, numpy as np def fit_circle_by_gradient(img, center_guess, radius_guess, roi_size100): 输入: 灰度图、初始圆心/半径来自粗检测 输出: 亚像素圆心(cx,cy)、半径r、拟合残差rms # 1. ROI裁剪并计算梯度 y0, x0 int(center_guess[1]), int(center_guess[0]) roi img[max(0,y0-roi_size):min(img.shape[0],y0roi_size), max(0,x0-roi_size):min(img.shape[1],x0roi_size)] grad_x cv2.Sobel(roi, cv2.CV_64F, 1, 0, ksize3) grad_y cv2.Sobel(roi, cv2.CV_64F, 0, 1, ksize3) # 2. 构建方向约束只保留梯度方向与径向夹角15°的点 y_grid, x_grid np.mgrid[-roi_size:roi_size, -roi_size:roi_size] radial_dir_x x_grid.astype(float) radial_dir_y y_grid.astype(float) norm_radial np.sqrt(radial_dir_x**2 radial_dir_y**2) 1e-6 radial_dir_x / norm_radial radial_dir_y / norm_radial grad_norm np.sqrt(grad_x**2 grad_y**2) 1e-6 cos_theta (grad_x * radial_dir_x grad_y * radial_dir_y) / grad_norm valid_mask (cos_theta np.cos(np.deg2rad(15))) (grad_norm 30) # 梯度强度阈值 # 3. 提取有效边缘点亚像素级 y_edge, x_edge np.where(valid_mask) points np.column_stack((x_edge - roi_size x0, y_edge - roi_size y0)) # 4. 椭圆拟合圆是椭圆特例 if len(points) 6: return center_guess, radius_guess, 999.0 ellipse cv2.fitEllipse(points.astype(np.float32)) (cx, cy), (major, minor), angle ellipse r (major minor) / 4 # 圆形时 major≈minor取平均半径 rms np.mean(np.sqrt((points[:,0]-cx)**2 (points[:,1]-cy)**2) - r) return (cx, cy), r, abs(rms) # 使用示例 img cv2.imread(test_images/part_circle.jpg, 0) # 先用模板匹配粗定位圆心 template cv2.imread(templates/circle_template.png, 0) res cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED) _, _, _, max_loc cv2.minMaxLoc(res) center_init (max_loc[0] template.shape[1]//2, max_loc[1] template.shape[0]//2) radius_init 42 # 模板已知半径 center_subpix, radius_subpix, rms fit_circle_by_gradient(img, center_init, radius_init) print(f亚像素圆心: ({center_subpix[0]:.2f}, {center_subpix[1]:.2f})) print(f亚像素半径: {radius_subpix:.2f} px → 换算为 mm: {radius_subpix * 0.0215:.3f} mm) # 0.0215 mm/px 来自标定关键设计点cos_theta cos(15°)将梯度方向约束收紧至15°内排除非圆弧边缘grad_norm 30滤除低信噪比区域金属反光常产生弱梯度伪影rms残差作为质量判据若 0.5px说明ROI内存在严重遮挡或变形需人工干预。实测对比同一图像重复测量10次方法圆心X标准差圆心Y标准差半径标准差CannyHough±0.18px±0.21px±0.15px梯度约束椭圆拟合±0.03px±0.04px±0.02px精度提升5.7倍直接满足赛事要求半径测量重复性 ≤±0.05mm。4. 精度陷阱排查为什么你的测量结果总在临界值附近晃动这是备赛中最痛的体验明明代码跑通、标定误差0.2px、边缘拟合rms0.1px但最终测量值在0.12mm/0.13mm/0.14mm之间反复横跳死卡在0.15mm淘汰线上。以下是我带队三年总结的5个必查精度陷阱每一条都来自真实翻车现场4.1 现象标定重投影误差0.18px但测量孔径偏差0.11mm原因标定板未按ASME标准固定在刚性平板上而是粘贴在泡沫板上。微振动导致靶标平面在采集过程中发生0.3°翘曲使z轴坐标建模失真。解决改用5mm厚铝板真空吸附固定靶标采集时关闭空调风道避免气流扰动。4.2 现象白天测量合格傍晚同一零件测量超差0.09mm原因LED光源色温随温度升高从6500K漂移到5800K导致CMOS传感器红外截止滤光片透射率变化引发像素响应非线性偏移。解决在config.yaml中增加白平衡校准步骤每2小时用标准灰卡拍摄动态更新cv2.cvtColor的cv2.COLOR_RGB2GRAY权重系数。4.3 现象换用新镜头后所有测量值系统性增大0.07mm原因新镜头出厂标称焦距25mm实测为24.82mm厂商公差±0.1mm。标定中未启用cv2.CALIB_FIX_FOCAL_LENGTH导致内参矩阵mtx[0,0]被错误优化。解决对已知焦距镜头强制固定fxfyfocal_length_in_px仅优化主点与畸变。4.4 现象同一图像CPU模式下测量0.123mmGPU加速后变成0.131mm原因OpenCV CUDA模块的cv2.cuda.createCLAHE()与CPU版直方图均衡参数不一致导致边缘对比度增强程度不同影响梯度计算。解决禁用CUDA加速或统一使用cv2.createCLAHE(clipLimit2.0, tileGridSize(8,8))CPU/CUDA行为一致。4.5 现象导出CSV结果时孔径值显示为“0.12”但实际是0.123456mm被四舍五入原因pandas.to_csv(float_format%.2f)导致精度丢失而赛事评分系统读取原始浮点值。解决导出时用np.savetxt(result.txt, data, fmt%.6f)确保6位小数无损。注意以上5条全部来自2023年华北赛区技术申诉案例。其中第3条焦距误差导致3支队伍被取消资格——因为测量值偏差与镜头批次强相关属于不可复现误差。5. 从“能跑通”到“稳拿奖”用物理量纲闭环验证法替代纯图像指标所有算法工程师都爱看loss曲线下降、mAP提升但在工业测量场景图像指标与物理精度无直接映射关系。去年某队mAP达0.92却因测量孔径重复性0.16mm被淘汰另一队mAP仅0.78但所有测量值标准差≤0.03mm拿下单项冠军。区别在于后者构建了物理量纲闭环验证链。5.1 构建可追溯的物理标尺physical_ruler.py赛事提供一套NIST可溯源的陶瓷标定块calibration_block.stl含3个已知尺寸特征Ø10.000±0.002mm 圆孔基准孔20.000±0.002mm 槽宽90.000±0.003mm 边长关键不是“用它测一次”而是建立像素→毫米的实时转换因子import numpy as np from scipy.optimize import curve_fit # 1. 在不同工作距离300/500/700mm下用标定块拍摄10组图像 # 2. 对每组图像提取基准孔像素直径 d_px[i]已知物理直径 d_mm 10.000 d_px np.array([124.3, 124.1, 124.5, ...]) # 30组测量值 d_mm 10.000 # 3. 拟合像素-毫米转换模型考虑镜头畸变残余 def px_to_mm(px, a, b, c): return a * px b * px**2 c # 二次模型捕捉边缘畸变 popt, _ curve_fit(px_to_mm, d_px, np.full_like(d_px, d_mm)) a, b, c popt print(f转换模型: mm {a:.6f}*px {b:.8f}*px^2 {c:.6f}) # 4. 应用于实时测量 def measure_hole_px(img): # ... 梯度约束椭圆拟合 ... d_px 2 * radius_subpix return px_to_mm(d_px, a, b, c) # 验证对槽宽测量物理值20.000mm → 算法输出19.998±0.001mm3σ5.2 误差溯源表格把每次测量分解到物理环节环节贡献误差3σ检测方法改进措施相机标定±0.012mm重投影误差分布直方图增加倾斜角度标定图靶标制造±0.002mm查阅标定块出厂证书无需改进光源稳定性±0.005mm连续1h灰度均值STD加装恒流驱动电源边缘拟合±0.003mm同一ROI重复拟合10次保持梯度约束阈值≥15°机械装夹±0.008mm多次装拆后测量极差改用气动夹具提示这份表格必须出现在你的技术报告附录中。评委不看代码行数但会逐项核对误差分配是否合理——如果你把“边缘拟合”写成±0.05mm而实际只有±0.003mm会被视为缺乏工程敬畏。5.3 终极验证用“盲测挑战包”自检blind_test/目录赛事组委会提供blind_test.zip独立于训练集含5张未知尺寸零件图真实产线零件非合成对应三坐标测量机CMM报告PDF含不确定度U95要求提交CSV字段为filename,measured_diameter_mm,uncertainty_mm我的血泪经验在正式提交前务必用此包跑3轮第1轮纯算法输出 → 记录所有偏差0.02mm的样本第2轮针对偏差样本检查其光照/角度/遮挡特征 → 发现规律如所有偏差样本均存在侧向反光第3轮加入反光抑制模块anti_glare.py→ 偏差降至±0.015mm内。最后一句我坚持在每次标定后用标定块拍一张图跑一遍physical_ruler.py把转换因子写在实验记录本首页。不是为了应付检查而是让“像素”这个词在我心里永远带着毫米的重量。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

Matlab激光谐振腔物理仿真:从ABCD矩阵到模式求解

Matlab激光谐振腔物理仿真:从ABCD矩阵到模式求解

简介:本资源是一份面向光学工程、激光物理方向本科生及入门级科研人员的MATLAB实践教学材料,聚焦激光器谐振腔建模与数值仿真这一核心能力训练。资源通过可运行的MATLAB脚本,系统实现平行平面腔自再现模式分析、稳定区判据计算(uv…

2026/10/12 0:40:20 阅读更多 →
玉米目标检测数据集实战:COCO格式、YOLOv8训练与数据质量避坑指南

玉米目标检测数据集实战:COCO格式、YOLOv8训练与数据质量避坑指南

简介:玉米好坏检测数据集包含2357张玉米图片的人工标注结果,专用于玉米粒优质品与劣质品的自动分类检测,面向需要训练农产品外观识别模型的开发者、研究人员以及农业智能化项目团队,可广泛用于粮食质检、选种分析等场景。图片采用…

2026/10/12 0:40:20 阅读更多 →
【发文无忧】基于雾凇优化算法RIME-Kmean-Transformer-GRU实现数据回归预测算法研究Matlab代码

【发文无忧】基于雾凇优化算法RIME-Kmean-Transformer-GRU实现数据回归预测算法研究Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数学建模、模型改进、算法创新、程序设计科研仿真。🍎 往期回顾关注个人主页:完整代码获取 定制创新 论文复现私信🍊个人信条:做科研,博学之、审问之…

2026/10/12 0:40:19 阅读更多 →

最新新闻

8192GB巨量狂飙 Kingston FURY G5固态硬盘:PCIe 5.0 NVMe 满速验证与 TaoToken 配置记录

8192GB巨量狂飙 Kingston FURY G5固态硬盘:PCIe 5.0 NVMe 满速验证与 TaoToken 配置记录

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

2026/10/12 1:26:46 阅读更多 →
InterviewGuide 海量数据处理面试题精解(第 6–10 题):TopK 查询、位图判重、双堆求中位数与外排序实战

InterviewGuide 海量数据处理面试题精解(第 6–10 题):TopK 查询、位图判重、双堆求中位数与外排序实战

文档教程知识库 【免费下载链接】InterviewGuide 🔥🔥「InterviewGuide」是阿秀从校园->职场多年计算机自学过程的记录以及学弟学妹们计算机校招&秋招经验总结文章的汇总,包括但不限于C/C 、Golang、JavaScript、Vue、操作系统、数据结…

2026/10/12 1:26:46 阅读更多 →
C++ 小病毒让鼠标锁死:用 TaoToken 统一 Key 复现与防御实验

C++ 小病毒让鼠标锁死:用 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/12 1:26:46 阅读更多 →
案例:自动化新闻推送 Agent Harness 系统——用 TaoToken 统一 Key 打通多 Agent 协同与 RAG 链路

案例:自动化新闻推送 Agent Harness 系统——用 TaoToken 统一 Key 打通多 Agent 协同与 RAG 链路

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

2026/10/12 1:26:46 阅读更多 →
AI日报自动化实战:从信息源筛选到日更流水线的完整设计

AI日报自动化实战:从信息源筛选到日更流水线的完整设计

1. 当"日报"变成日更:一个信息聚合项目的缘起做内容的人都有一个共同的痛点:信息太多,时间太少。每天早上打开手机,几十个信息源同时往外吐内容,光是扫一遍标题就要花掉半小时,更别提筛选、判断、…

2026/10/12 1:26:46 阅读更多 →
04:奇偶ASCII值判断

04:奇偶ASCII值判断

/*** 题目名称&#xff1a;奇偶ASCII值判断 <p>* 题目来源&#xff1a;http://noi.openjudge.cn/ch0104/04/ <p>* 程序功能&#xff1a;判断指定字符内存编码值的奇偶性&#xff0c;并输出相应的字符串** author 潘磊&#xff0c;just_panleijust.edu.cn* version …

2026/10/12 1:25:46 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天&#xff0c;画面可以做到绝对的锐利、平滑与无瑕。然而&#xff0c;当一张秋日手账插画或拍立得照片过于“平整无瑕”时&#xff0c;往往会散发出一种冰冷生硬的“数码塑料感&#xff08;Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中&#xff0c;横排&#xff08;Horizontal Layout&#xff09;早已经成为了绝对的主流。然而&#xff0c;当我们翻开泛黄的线装古籍、宋版木刻诗集&#xff0c;或是欣赏一张茶道雅集的手写便签时&#xff0c;那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点&#xff0c;很多人心里都会悄悄亮起一盏警示灯。 在心理学上&#xff0c;这种现象有一个专门的称谓——“周日夜晚焦虑症&#xff08;Sunday Scaries&#xff09;”。明天又是周一&#xff0c;闹钟又要重新在七点响彻卧房&#xff1b;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →