Win10下用VS2017与CMake编译OpenCV 4.5.1并集成contrib模块的完整指南
简介一份专为Windows平台计算机视觉开发者准备的OpenCV 4.5.1contrib重新编译成果基于win10、VS2017与CMake构建解决在官方发行版中无法直接使用SIFT、SURF等contrib模块功能的痛点。包体为RAR压缩包共992个文件、约47.65MB包含454个hpp头文件与58个头文件以提供完整C接口415个exe示例与工具便于验证功能同时提供dll/lib库文件、cmake配置文件及许可证文档整体目录结构清晰可直接纳入VS2017工程参与编译链接。已有487人浏览学习对希望快速获得带contrib模块的OpenCV环境、减少自行编译排错成本的开发者极具参考价值。该包可直接省去源码下载、CMake配置和长时编译流程拿到后配置好include与lib路径即可调用增强型视觉算法。1. 为什么要在 Win10 上手动编译 OpenCV 4.5.1官方包没有 contrib 里的 SIFT 与 BEBLID官方预编译的 OpenCV 4.5.1 安装包跑 SIFT 特征提取时会卡在“未声明的 cv::xfeatures2d::SIFT”编译错误上。不是代码写错了而是官方 Windows 包默认没把 opencv_contrib 模块编进去SIFT、SURF、BEBLID 这类高频特征算法全部在 contrib 仓库的 xfeatures2d 里主仓源码根本找不到它们的实现。这篇笔记是记录我在 Win10 VS2017 CMake 下把 OpenCV 4.5.1 连同 contrib 源码重新编译的完整流程版本怎么搭、CMake 参数怎么填、VS 工程里链接什么东西、翻车的几个坑怎么排查。适合需要使用 contrib 扩展算法、又像按自己 CPU 指令集定制优化的人照着走一遍后面做项目才心里有底。2. 准备阶段版本选型、VS2017 工具链与源码目录规范2.1 版本搭配逻辑OpenCV 4.5.1、VS2017 与 CMake 的对应关系先明确第一件事版本不是越新越好而是让 CMake、编译器和 OpenCV 源码三者相互识别。OpenCV 4.5.1 的源码是 C11 写的官方 CMake 脚本在 4.x 系列里针对 Visual Studio 2015、2017 的兼容性调得最熟。VS2017 对应的是 v141 平台工具集在 CMake 生成器里叫Visual Studio 15 2017。如果你手头同时装了 VS2019CMake 默认可能弹出一个“Visual Studio 16 2019”选项这时候千万别顺手选因为 v142 工具链对 contrib 里那些直接写 SIMD 的模块比如 xfeatures2d 里几个描述子会有更严格的语法检查很容易编译到一半报错。CMake 版本不需要最新但也不要太老。我用的是 3.21.4跑 4.5.1 的 configure 没有红脸。低于 3.10 的话部分新特性检测不到比如 OpenCV 4.5.1 对 CUDA 和 Python 版本探测的写法。打开命令行先敲一下cmake --version输出结果里有 3.21.4 类似字样就说明 PATH 没问题。如果你连cmake命令都找不到请重新运行 CMake 安装包在安装界面勾选“Add CMake to the system PATH for all users”装完之后新开一个命令行窗口再试。另一个经常被忽略的版本搭配问题是 OpenCV 主仓和 opencv_contrib 必须锁同一个 tag。如果你主仓用的是4.5.1分支contrib 却拉了个 masterconfigure 阶段看着一切正常等到链接阶段就会冒出几十个 LNK 2001。原因很简单contrib 的 master 代码调用了主仓最新接口而主仓 4.5.1 里的头文件根本没有导出这些符号。解决办法就是一次性全部锁到 4.5.1见 2.3。我习惯用下面这个表格给自己做版本备注你配置前也可以照着抄一份组件推荐值理由OpenCV 主仓4.5.1 tag项目需求固定版本opencv_contrib4.5.1 tag与主仓 ABI 严格对齐VS201715.9 以上更新v141 工具集最稳CMake3.10 以上推荐 3.20 左右对 VS2017 生成的 .sln 文件识别最稳2.2 安装顺序与两个容易漏掉的细节安装顺序我劝你别乱先装 VS2017再装 CMake。反过来的话CMake 在第一次 configure 时会去探测 vcvarsall.bat结果发现 VS 还没装好然后一路报“Cannot find appropriate CMake generator for Visual Studio”类似的错。等你装完 VS 再回来用 CMake还得手动清理缓存和 CMakeCache.txt没必要给自己加戏。VS2017 安装时需要勾的工作负载是“使用 C 的桌面开发”这个不用多讲。容易漏的是它右侧展开后的“Windows 10 SDK”组件。默认界面可能没给你勾上等你 configure 完成后进 VS 编译爆出一堆fatal error C1083: 无法打开包括文件: winnt.h那多半就是这个 SDK 没装。重装 VS 不现实打开 Visual Studio Installer点“修改”找到同一个组件补上即可。CMake 装完之后我一般直接用 VS2017 自带“x64 Native Tools Command Prompt for VS 2017”来做后续构建。原因是这个命令行窗口把 MSBuild、cl.exe、rc.exe 的路径都设好了cmake --build 时能少踩无数 PATH 相关的坑。你在开始菜单里搜“Native Tools”就能找到。2.3 源码拉取与目录规划源码目录规划是最不值得出错的地方但我每次都能看到同事把代码放到桌面上路径类似C:\Users\张三\Desktop\opencv然后编译到三分之一时源码里中文路径炸了。这里直接给出我推荐的目录结构E:\opencv_src\opencv # 主仓源码 E:\opencv_src\opencv_contrib # contrib 源码 E:\opencv_src\build # CMake 构建目录 E:\opencv_src\install # 最终安装输出目录拉取源码用 git注意 --depth 参数让克隆速度快点cd E:\opencv_src git clone --depth 1 --branch 4.5.1 https://github.com/opencv/opencv.git git clone --depth 1 --branch 4.5.1 https://github.com/opencv/opencv_contrib.git第一行克隆 OpenCV 主仓第二行克隆 contrib 仓。--branch 4.5.1的含义是直接拉取远端对应的 tag避免默认切到 master。拉完检查一下 contrib 的目录结构dir E:\opencv_src\opencv_contrib\modules里面应该有 xfeatures2d、face、text 等一堆模块目录后续 CMake 引用的就是E:\opencv_src\opencv_contrib\modules这个路径不是 contrib 根目录。这一小步很多人会错导致 configure 后限制模块没有被加载。需要注意源码目录、构建目录、安装目录三者都必须满足两个条件路径全英文、没有任何空格。Windows 下Program Files和中文用户名都会让 CMake 的脚本在某些头文件生成阶段出错而且是在你盯着终端完全找不到根因的时候。别问我怎么知道的全是血泪教训。3. CMake 配置与 VS2017 构建从首次 Configure 到产出完整库3.1 CMake GUI 配置参数清单CMake 有两种用法命令行和 GUI。新手我建议先打开 GUIcmake-gui.exe因为 OpenCV 4.5.1 的配置项实在太多GUI 里搜索变量名比较直观。把源码指向E:/opencv_src/opencv构建目录指向E:/opencv_src/build第一次点击 Configure 时会弹出生成器选择框这里选Visual Studio 15 2017 Win64平台选 x64 而不是 Win32。Win32 平台编译出来的库效率没法看OpenCV 的源码在 x86 下很多指令集优化会被自动屏蔽。第一次 configure 完成后界面里会大量出现红色变量不用慌这只是 CMake 在提示这些变量是新增缓存项。再次点击 Configure红色会消失。然后按下面这张表改参数变量名推荐值说明OPENCV_EXTRA_MODULES_PATHE:/opencv_src/opencv_contrib/modules启用 contrib 模块的入口BUILD_TESTSOFF不编译 OpenCV 自带测试代码BUILD_PERF_TESTSOFF不编译性能基准测试BUILD_EXAMPLESOFF官方示例先不编省时间BUILD_opencv_worldON把几百个模块合成一个 opencv_world451.libWITH_CUDAOFF第一次编译不碰 CUDAWITH_PYTHONOFF纯 C 工程先关掉 Python 绑定CMAKE_INSTALL_PREFIXE:/opencv_src/install指定最终输出目录有几点要解释清楚。OPENCV_EXTRA_MODULES_PATH是真正的 contrib 开关configure 时如果你填写正确重新运行后会出现大量以OPENCV_ENABLE_MODULES和opencv_*开头的新变量这些就是 contrib 的模块列表。另外摘要里提到的WITH_OPENCV_CONTRIB并不是 CMake 里的实际变量名不存在的别找。BUILD_opencv_world我强烈建议打开。默认状态下 OpenCV 会生成几十个模块对应的独立 lib比如 opencv_core451.lib、opencv_imgproc451.lib你链接工程时得一个个写进附加依赖项手抄都容易错。打开 world 之后所有模块合成一个 opencv_world451.lib链接工作量大减。WITH_CUDA和WITH_PYTHON这两个如果你确实有 GPU 加速需求可以后续单独配置第一次做全量编译时先关掉不然 configure 阶段会多出 CUDA_ARCH_BIN、cuDNN 版本检测等大量报错环节会把你心态搞崩。3.2 开始编译命令行 vs VS2017 界面参数调整完点击 Generate 生成 VS 工程文件。这一步会生成 OpenCV.sln 和一个 CMakeTargets 目录。接下来有两个选择。第一个选择是直接在 CMake GUI 上点“Open Project”会拉起 VS2017然后你会在解决方案里看到 ALL_BUILD、INSTALL 等目标。把解决方案配置从 Debug 切到 Release右键 ALL_BUILD 点生成。这个方式适合看着编译过程一点点跑完的人。第二个选择是命令行构建更适合后面反复重编直接执行cmake --build E:\opencv_src\build --config Release --parallel 8这条命令的含义是让 CMake 调用 MSBuild 编译 Release 配置--parallel 8表示同时开 8 个编译进程。如果你的 CPU 是 6 核 12 线程或者 8 核 16 线程8 进程比较合适内存小于 16G 的话建议降到 4不然预编译头文件阶段内存占用会冲到 7~8G小内存机器容易直接卡死。编译需要的耗时以我 i5-8400 16G 内存的环境Release 全量大概 50 到 80 分钟。contrib 模块里有些要编译几十个文件进度条跑到 80% 之后会变得很慢这是正常的。如果中途崩溃常见原因不是代码错误而是内存不够或者杀毒软件在后台扫描文件。我习惯做编译前把 Windows Defender 的实时保护临时关掉这个属于纯经验操作嫌麻烦也可以不管但速度差不少。编译完成后E:\opencv_src\build\bin\Release目录下就会出现一堆 dll 和 exe其中最关键的是 opencv_world451.dll 和 opencv_version.exe。这时候验证一下E:\opencv_src\build\bin\Release\opencv_version.exe如果终端输出4.5.1说明源码编译本身成功了还差最后一步 install。3.3 执行 INSTALL 目标得到独立交付目录在 VS2017 里找到“CMakePredefinedTargets”下的 INSTALL 项目右键生成经典做法命令行也一样cmake --build E:\opencv_src\build --config Release --target INSTALL --parallel 8这一步是把编译产物集中到CMAKE_INSTALL_PREFIX指定的目录里也就是E:\opencv_src\install。完成后检查一下dir E:\opencv_src\install\x64\vc15\bin你应该能看到 opencv_world451.dll。另外这个 install 目录根下面还会有一堆 LICENSE 文件比如 ade-LICENSE、ittnotify-LICENSE.BSD这些是 contrib 里第三方依赖自带的授权文件不是你编译出错了也不要随意删。目录里还有一个名为setup_vars_opencv4.cmd的批处理。它会临时把 OpenCV 的 bin 路径加到当前命令行窗口的 PATH 里。我每次验证环境是否正常时就在新开的 cmd 里执行call E:\opencv_src\install\setup_vars_opencv4.cmd opencv_version.exe如果输出 4.5.1说明你的安装目录已经完全自洽。4. 集成与排查链接配置、调试库 Release 库和五个翻车记录4.1 VS2017 工程接入 OpenCV 的三处配置编译好了库接下来要把你自己的工程和它接上。打开 VS2017 项目属性页我一般改三个位置第一处是C/C → 常规 → 附加包含目录填入E:\opencv_src\install\include第二处是链接器 → 常规 → 附加库目录填入E:\opencv_src\install\x64\vc15\lib第三处是链接器 → 输入 → 附加依赖项填入opencv_world451.lib这三步做完编译应该能通过头文件找到函数声明链接器能找到符号。但运行时还需要动态库有两个选择要么把E:\opencv_src\install\x64\vc15\bin\opencv_world451.dll复制到 exe 同级目录要么在系统 PATH 里加同一个 bin 路径。调试小项目我推荐直接复制 dll 到输出目录干净利落。另外注意配置文件还可以用更精细的做法在“链接器 → 输入 → 附加依赖项”里用分号同时写 Debug 和 Release 两种库名并不行更靠谱的做法是在解决方案配置管理里Debug 配置下填opencv_world451d.libRelease 配置下填opencv_world451.lib。带 d 后缀的库是调试符号版本debug 和 release 库绝对不能混用混用最常见的现象是运行时崩溃但编译没报错。4.2 Contrib 模块的头文件位置检查接入完成之后你会在头文件引用里写这种语句#include opencv2/xfeatures2d.hpp这个头文件编译后位于install\include\opencv2\xfeatures2d.hpp。如果找不到那大概率是OPENCV_EXTRA_MODULES_PATH没有设置成功contrib 模块根本没被编进当前库。此时不要接着调代码回到 CMake GUI重新确认 configure 输出里有没有列出 xfeatures2d 相关条目。4.3 五个真实踩坑记录下面这五条是我在实际编译和数据使用中遇到的问题按“现象 → 原因 → 解决”整理照着顺序排会快很多。第一条configure 阶段 CMake 报错显示CMAKE_CXX_COMPILER not set或者找不到 cl.exe。原因是 VS2017 的 C 桌面开发组件没装或者装了但 CMake 在 PATH 里没能自动发现 vcvarsall。解决方法是回到 Visual Studio Installer 里补装“使用 C 的桌面开发”然后新开命令行在 x64 Native Tools 环境下重新跑 cmake-gui。第二条编译到中途报fatal error C1083: 无法打开包括文件: winnt.h。原因是 VS2017 的 Windows 10 SDK 组件没有勾选。解决方法是打开 Visual Studio Installer修改安装把 Windows 10 SDK 补上。注意这个组件一般在“单个组件”标签页里别在“工作负载”里找半天。第三条VS 里编译你自己的项目时报LNK 2001 unresolved external symbol cv::xfeatures2d::BEBLID::create。原因是你的项目没有链接 opencv_world451.lib或者链接的是不包含 contrib 的旧 lib 文件。解决方法是检查附加依赖项确保用的是自编译的 install 目录里的 lib而不是以前放进去的官方包 lib。第四条exe 运行时报缺少 opencv_world451.dll或缺少 opencv_world451d.dll。原因是 dll 不在 exe 同级目录也没有加到 PATH。解决方法是把install\x64\vc15\bin下的对应 dll 拷贝过去或者运行一下 setup_vars_opencv4.cmd。这里有个常见误会Debug 模式下需要的是带 d 后缀的 dll如果你只拷贝了 Release 版还是会报错。第五条configure 时 OPENCV_EXTRA_MODULES_PATH 填了 contrib 根目录比如E:/opencv_src/opencv_contrib结果 configure 完成后根本找不到任何额外模块。原因是 CMake 需要的是modules子目录里面才有各模块的 CMakeLists.txt。解决方法是把路径改成E:/opencv_src/opencv_contrib/modules重新 configure。每次遇到玄学问题我建议先看一眼 CMakeCache.txt 里对应的变量值直接搜索变量名看它缓存下来的路径到底是谁。很多时候 CMake 会复用旧缓存路径改了几次还是旧值把 build 目录整个删掉重新 configure 反而是最快的“后悔药”。5. 验证编译成果用 BEBLID 与 SIFT 跑通第一次自检编译成功后我做的第一件事不是跑官方示例而是自己写一个最小验证程序专门检测 contrib 模块是否存在。下面这段代码用 ORB 检测关键点再用 BEBLID 计算描述子整个流程是 xfeatures2d 里最典型的用法#include opencv2/core.hpp #include opencv2/imgcodecs.hpp #include opencv2/imgproc.hpp #include opencv2/features2d.hpp #include opencv2/xfeatures2d.hpp int main() { cv::Mat img cv::imread(E:/test/lena.png, cv::IMREAD_GRAYSCALE); if (img.empty()) { printf(image not loaded\n); return -1; } // 先用 ORB 检测关键点再把关键点交给 BEBLID 计算描述子 std::vectorcv::KeyPoint kps; cv::Mat desc; auto orb cv::ORB::create(500); orb-detect(img, kps); printf(keypoints: %zu\n, kps.size()); // scale_factor 16 表示 16x16 的图像块描述范围num_bits 可选 256 或 512 auto beblid cv::xfeatures2d::BEBLID::create(16, cv::xfeatures2d::BEBLID::SIZE_256_BITS); beblid-compute(img, kps, desc); printf(descriptor size: %d x %d\n, desc.rows, desc.cols); return 0; }这段代码的逻辑是先用 ORB 做关键点检测再让 BEBLID 对原图上的关键点位置重新计算描述子。BEBLID::create的第一个参数 16 表示每个关键点周围取 16×16 的局部区域第二个参数 256 表示最终生成的描述子位宽如果想提高匹配时特征之间的区分度可以改为SIZE_512_BITS缺点是对应匹配速度会慢一些。跑通这个程序后如果输出keypoints: 500和descriptor size: 500 x 32说明 contrib 模块的 xfeatures2d 已经被真正编进库里SIFT、SURF 等同类模块也大概率没问题。这个验证不能省。很多人在 CMake configure 阶段认为 contrib 路径填对了实际却因为版本不匹配或者模块编译失败被自动跳过而 ALL_BUILD 整体还是成功的因为主仓不依赖 contrib仅仅靠最后程序在运行时调用才会露馅。从那以后我每次重新编译 OpenCV都会强迫自己走一遍 BEBLID 单测和 opencv_version.exe 双验证跑完才敢切换到自己的项目工程。这个习惯虽然多花五分钟但能帮你把“编译成功”和“真的能用”这两件事彻底分清。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

STM32CubeIDE集成RT-Thread实战:从裸机到多任务调度

STM32CubeIDE集成RT-Thread实战:从裸机到多任务调度

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

2026/10/13 1:59:18 阅读更多 →
Visual Studio 2010 Shell(Isolate):轻量级遗产系统调试环境搭建指南

Visual Studio 2010 Shell(Isolate):轻量级遗产系统调试环境搭建指南

简介:Microsoft Visual Studio 2010 Shell (Isolate) 是面向Windows平台C、C#、VB.NET等开发者的一套轻量级、可定制IDE运行环境,专为无需完整VS安装但需调试器、编辑器及扩展框架的场景设计,适用于旧系统维护、第三方工具集成或精简开发环境…

2026/10/13 1:59:18 阅读更多 →
JavaScript公式编辑器实战:从LaTeX渲染到存储回显全解析

JavaScript公式编辑器实战:从LaTeX渲染到存储回显全解析

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

2026/10/13 1:58:18 阅读更多 →

最新新闻

SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0学生信息管理系统实战

SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0学生信息管理系统实战

接手过一个学生信息管理系统的小项目,技术栈正好是SpringBoot2 Vue3 MyBatis-Plus MySQL8.0,标题里这套组合一眼看去很常见,但真正从零落地的时候,细节远比想象中多。当初团队里有人建议用老掉牙的JSP那套,也有人建…

2026/10/13 2:34:32 阅读更多 →
SpringBoot+Vue私房菜定制上门服务系统开发实战解析

SpringBoot+Vue私房菜定制上门服务系统开发实战解析

一个 SpringBoot Vue 的私房菜定制上门服务系统,光看标题可能觉得就是一个普通的管理系统,但真正动手做过的人会知道,这类“定制 上门 多角色”的业务模型,远比表面看起来复杂。它不是简单的 CRUD 堆砌,订单状态的流…

2026/10/13 2:34:32 阅读更多 →
ModernZ键盘快捷键绑定教程:input.conf中script-binding与script-message完全指南

ModernZ键盘快捷键绑定教程:input.conf中script-binding与script-message完全指南

音视频UI组件 【免费下载链接】ModernZ A sleek and modern OSC for mpv. This project is a fork of ModernX that enhances functionality by adding more features while preserving the core standards of mpvs OSC. 项目地址: https://gitcode.com/gh_mirrors/…

2026/10/13 2:34:32 阅读更多 →
数据结构第一章重难点全梳理:逻辑结构、存储结构与复杂度分析

数据结构第一章重难点全梳理:逻辑结构、存储结构与复杂度分析

很多人在学一门新课程时,最容易忽略的偏偏是第一张。第一张通常看起来“全是概念、没有代码”,感觉像是空话,于是翻两页就过去了,等后面真正写程序、做算法题时才发现什么都对不上。这次我把自己重新整理的《数据结构》第一章笔记…

2026/10/13 2:34:32 阅读更多 →
修仙AI小镇xianxia-AI-town:大模型驱动的修仙模拟器,NPC与玩家为何能平权?完整解读

修仙AI小镇xianxia-AI-town:大模型驱动的修仙模拟器,NPC与玩家为何能平权?完整解读

【免费下载链接】xianxia-AI-town-AI- 大模型驱动的npc决策,npc和玩家平权 项目地址: https://gitcode.com/gh_mirrors/xi/xianxia-AI-town-AI- 点击查看 免费下载 修仙AI小镇(xianxia-AI-town)是一款大模型驱动的修仙模拟游戏&a…

2026/10/13 2:34:32 阅读更多 →
SpringBoot+Vue学生成绩分析与可视化平台全解析

SpringBoot+Vue学生成绩分析与可视化平台全解析

每年毕业季我都能在技术社区里看到大量和“成绩管理系统”相关的提问,这个题目属于那种“看起来老套、实则非常能打”的典型选题。特别是把Java、Vue、SpringBoot这三个词绑在一起的时候,它考查的已经不只是“会写增删改查”,而是完整的前后端…

2026/10/13 2:33:32 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →