OpenCV4.9.0 GPU版VS2019编译实战:CUDA加速与避坑指南
简介这是一份基于Visual Studio 2019编译的OpenCV4.9.0 GPU release版资源面向Windows平台C开发者专为需要GPU并行加速的计算机视觉与图像处理场景设计。借助图形处理单元的并行计算能力可显著提升高分辨率图像、实时视频流及大规模视觉数据的处理速度相比纯CPU版本在运算效率上有明显优势。压缩包共673个文件包含601个hpp与56个h头文件完整覆盖OpenCV各模块的函数与类声明同时提供4个cmake配置、4个dll动态库、2个lib导入库并附带6个exe可执行工具方便在VS2019中完成库引用、工程构建和辅助调试整体大小约69.9MB。资源以x64架构提供优化库适配64位系统大内存寻址需求适用于需要高吞吐量图像处理或大型视觉任务的项目。目前已有605人学习浏览对希望快速上手GPU版OpenCV的C工程师而言这份资源能极大节省自行编译和配置环境的时间提供开箱即用的完整依赖结构。1. 为什么 OpenCV4.9.0 的 GPU release 版本要自己动手编译官方包缺的不是版本是 CUDAOpenCV4.9.0 的 GPU release 版本基于 VS2019 编译这条路线几乎是所有做实时图像处理的人迟早要趟一遍的河。官方发布的 Windows 预编译包只带 CPU 计算能力你装完打开cv::cuda::getCudaEnabledDeviceCount()拿到的永远是 0DNN 推理再快也只是在跟 CPU 较劲。唯一正规的做法是拿源码在 VS2019 环境里配合 CUDA Toolkit、cuDNN 和 CMake亲手把 GPU 模块编进库文件。这事适合两类人一类是项目已经锁定 VS2019 工具链、不想为了 OpenCV 再换整套编译器的老团队另一类是模型已经训练完、卡在部署性能上差的就是这几十毫秒的推理提速。本文不聊底层原理的每个细节只讲怎么把这一步走通以及哪些地方真的会让人想摔键盘。2. 编译前置VS2019、CUDA、cuDNN 的版本对齐与三处环境检查2.1 版本选型的四件套为什么不是越新越好排在第一位的不是 OpenCV 配置而是把工具链对齐。OpenCV 4.9.0 是源码包它对编译器的要求是支持 C11 以上VS2019 的 MSVC v142 工具集完全满足但要注意 CUDA 的版本。我一般会避开刚发布两三个月的 CUDA 大版本因为 OpenCV 的 CMake 脚本对 CUDA 的探测有滞后性太新的版本可能识别异常。稳定区间在 CUDA 12.0 到 12.2cuDNN 选 8.9.x 系列这两个版本的搭配在编译期和运行期都比较顺。这是一个可以直接抄的版本组合表组件推荐版本选择理由OpenCV4.9.0 源码包本文主目标release 分支稳定Visual StudioVS2019MSVC v142工具链已锁定生成器对应 Visual Studio 16 2019CUDA Toolkit12.0 ~ 12.2CMake 探测成熟nvcc 与 MSVC 兼容性好cuDNN8.9.x与 CUDA 12.x 配套卷积算子库完整CMake3.24 以上3.24 开始对 VS2019 生成器支持最稳定2.2 动手前先做三个环境检查命令与判断标准很多人 CMake 配置一半就报错回头查才发现是 CUDA 环境变量没生效。在开始前打开一个普通的 CMD 窗口依次确认三件事。nvcc --version echo %CUDA_PATH% cl第一行nvcc --version如果不识别说明 CUDA Toolkit 没装成功或者没加入 PATH后续 CMake 必然卡在找不到 CUDA 编译器。第二行%CUDA_PATH%是 CUDA 安装器自动写入的系统环境变量正常情况下会指向C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2这样的路径。第三行cl在普通 CMD 里可能提示不是内部命令这是正常的——你需要在「开始菜单」里打开「Developer PowerShell for VS 2019」或者「x64 Native Tools Command Prompt for VS2019」进入这个环境后再跑cl才是真正的 MSVC 编译器。cuDNN 是一个压缩包而不是安装器解压后得到bin、include、lib三个目录常见做法是把里面的文件分别拷贝进 CUDA Toolkit 对应目录下比如把cudnn64_8.dll拷到 CUDA 的bin目录cudnn.h拷到include目录cudnn.lib拷到lib\x64目录。这样 OpenCV 的 CMake 在WITH_CUDNNON时能自动探测到省去手动指定路径的麻烦。2.3 最容易忽略的显卡算力决定 CUDA_ARCH_BIN不查会白编这是编译 GPU 版本前必须做的一次信息收集查清楚你目标显卡的 compute capability算力。OpenCV 的 CMake 在生成 CUDA 代码时要针对具体算力编译对应的 SASS 二进制CUDA_ARCH_BIN就是这个参数。写错或者漏写编译能过但运行时会报「no kernel image is available on the device」相当隐蔽。查询方法是直接搜「显卡型号 compute capability」或者跑一句deviceQuery.exeCUDA 安装目录自带工具。常见显卡范围GTX 10 系是 6.1RTX 20 系是 7.5RTX 30 系是 8.6RTX 40 系大部分是 8.9。如果你同时要部署到不同机器可以写多个算力值用分号分隔代价是编译时间变长、库体积变大。我的习惯是只写本机算力部署到哪台机器就在哪台机器上重现一次编译或者预先列好目标机器的算力范围。3. 用 CMake 生成 VS2019 工程决定 GPU 能力能否进库的关键开关3.1 两条配置路线GUI 适合初看命令行适合复现OpenCV 的 Windows 编译有两种常见做法一条是用 CMake GUI 打开源码目录、勾选选项后 Generate另一条是直接跑命令行。我推荐命令行因为它把每一个开关都留在脚本里换机器重编时不会漏项。GUI 容易犯的错是勾了WITH_CUDA就 Generate结果CUDA_ARCH_BIN为空CMake 自动探测失败后静默回退生成了一个不带 GPU 代码的工程等于白编。3.2 一条可复现的 CMake 命令模板假设源码位于D:\dev\opencv-4.9.0构建目录为D:\dev\build_gpu在开发者命令行里执行cmake -S D:\dev\opencv-4.9.0 -B D:\dev\build_gpu -G Visual Studio 16 2019 -A x64 ^ -DCMAKE_BUILD_TYPERelease ^ -DWITH_CUDAON ^ -DWITH_CUDNNON ^ -DOPENCV_DNN_CUDAON ^ -DCUDA_TOOLKIT_ROOT_DIRC:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.2 ^ -DCUDA_ARCH_BIN8.6 ^ -DBUILD_opencv_worldON ^ -DBUILD_TESTSOFF ^ -DBUILD_PERF_TESTSOFF ^ -DWITH_OPENCLOFF-G Visual Studio 16 2019 -A x64指定生成 VS2019 的 64 位工程这行与标题的 VS2019 直接对应别写成其他版本号否则生成器不匹配。WITH_CUDAON是总开关不开的话后面全部白搭。OPENCV_DNN_CUDAON决定 DNN 模块是否包含 CUDA 后端你要用 GPU 跑 YOLO 或者分类网络就一定要开。CUDA_ARCH_BIN8.6就是上一章查出来的算力按实际值替换。BUILD_opencv_worldON会合并成单个opencv_world490.dll引用时只需要配一个库省心很多。BUILD_TESTSOFF和BUILD_PERF_TESTSOFF能大幅缩短编译时间官方的性能测试工程编译起来非常耗时对部署不需要。3.3 生成后的三个验证点CMakeCache 是最靠谱的黑匣子CMake 完成后别急着开 VS先确认生成结果确实包含 CUDA。打开D:\dev\build_gpu\CMakeCache.txt搜索以下三个关键值WITH_CUDA:BOOLON、OPENCV_DNN_CUDA:BOOLON、CUDA_ARCH_BIN是否为你要的算力。这三个值全对才说明 GPU 能力真的进了工程配置而不是 CMake 探测失败后默默关掉了。第二个验证点是构建目录下有没有生成OpenCV.sln文件这是后面 VS2019 要打开的项目入口。第三个点是看opencv2/cuda.hpp头文件是否存在于源码目录的modules/cuda/include下这个文件在编译时会参与生成缺失说明源码包不完整。三个点都过完再进入编译阶段。4. 在 VS2019 里把 Release x64 编译出来构建顺序、日志判断与提速4.1 两种构建方式GUI 点选与命令行 msbuild生成好.sln后可以直接双击打开OpenCV.sln在菜单栏「生成 - 配置管理器」里把活动解决方案配置切换成Release活动解决方案平台切换成x64。然后在解决方案资源管理器里找到ALL_BUILD项目右键选择生成。这个操作等价于编译整个 OpenCV 全套工程耗时取决于机器性能八核十六线程的机器全速跑大约 30 到 50 分钟四核老机器可能奔着两个小时去。我更习惯用命令行方便控制并行度和看完整日志。在「Developer PowerShell for VS 2019」里执行msbuild D:\dev\build_gpu\OpenCV.sln /m:8 /p:ConfigurationRelease /p:Platformx64 /t:ALL_BUILD/m:8指用 8 个进程并行编译一般按 CPU 逻辑线程数设置注意留一个核给系统否则容易卡死。/p:ConfigurationRelease强制 Release 模式/p:Platformx64对应 64 位目标。这个命令走完如果输出最后一行是Build succeeded说明主体编译完成。接下来还有一个关键步骤生成INSTALL项目。msbuild D:\dev\build_gpu\OpenCV.sln /m:8 /p:ConfigurationRelease /p:Platformx64 /t:INSTALLINSTALL会把头文件、LIB、DLL 统一拷贝到build_gpu/install目录下之后你的业务项目只需要引用install/x64/vc16下的内容。vc16 就是 VS2019 对应的工具集版本路径里看到它说明这一套就是你要的 release 版。4.2 编译日志怎么看这几行能确认成功而不是「看起来成功」VS 的输出窗口信息量很大但真正需要盯住的是两类内容。第一类是编译错误报错行开头是error C或error LNK前者是源码或宏的问题后者多半是链接配置问题。第二类是最终统计命令行方式下看Build succeededGUI 方式下看输出窗口最后一行的「已成功生成」和错误数量是 0。还有一个很容易被忽略的确认点Release 模式下编译出的库文件名不带d后缀opencv_world490.lib和opencv_world490.dll才是对的。如果你看到opencv_world490d.lib说明配置管理器里实际编译的是 Debug跟标题里的 GPU release 版本不是同一个东西。我踩过这个坑Debug 跑起来巨慢还以为是 GPU 没生效。4.3 编译慢、内存不足、中途失败的三个应对编译 GPU 版 OpenCV 对内存的消耗比想象中大链接opencv_world490.dll这一步可能吃 4GB 以上内存16GB 内存的机器建议把/m:8调成/m:4。如果中途报错fatal error C1060: compiler is out of heap space基本就是内存不够或者并行度太高降到/m:4重新编译即可不需要清掉整个构建目录。另一个常见问题是 CMake 阶段已经在后台下载 IPPICV、FFmpeg 第三方包网络不稳定会卡住。处理办法是看 CMake 输出里给出的下载链接和期望文件哈希手动下载后再在 CMake 里指定缓存目录重跑或者干脆挂代理下载。这个我放到下一章展开讲因为它属于典型的翻车现场。还有一个容易被误解的点编译过程报错不一定代表 OpenCV 有问题。在BUILD_TESTSOFF的情况下报错大多集中在opencv_test_*系列项目如果你的配置里没关测试这些项目失败可以忽略只要核心模块和 world 库编译成功即可。我一般会先编译ALL_BUILD里的opencv_world项目单独验证再整体编译能省不少排查时间。5. GPU 版 OpenCV 的 5 个避坑现场链接错误、DNN 不加速、算力不匹配5.1 一运行就崩0xc000007b 或者缺少 cudart64_12.dll现象新写一个测试项目引用opencv_world490.lib编译通过一运行直接弹窗报错要么是「0xc000007b」要么是「找不到 cudart64_12.dll」。原因OpenCV 的install/bin路径虽然加了环境变量但 CUDA 的bin目录没加。GPU 版的 OpenCV 在运行时动态加载 CUDA 运行库这个 DLL 不在进程搜索路径里自然起不来。解决把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.2\bin追加到系统 PATH同时把install\x64\vc16\bin也加入。改完记得重启 VS2019否则它读到的还是旧环境变量。5.2 Debug 项目链了 Release 库莫名崩溃找不到原因现象VS2019 里项目配置是 Debug手动在附加依赖项里写了opencv_world490.lib编译链接都正常运行时经常在cv::Mat析构或者字符串操作时崩溃。原因Debug 运行库依赖opencv_world490d.lib你把 Release 的库硬链进 Debug 工程CRT 堆不一致崩溃点随机分布很难追。解决检查项目配置Debug 配置用opencv_world490d.libRelease 配置用opencv_world490.lib。最稳妥的是把附加依赖项改成宏区分Debug 和 Release 各写各的别图省事共用一个路径。5.3 DNN 推理耗时没降反升CUDA 后端没被真正调用现象网络推理在 GPU 版 OpenCV 上跑了 100 次耗时和之前 CPU 版几乎一样甚至更慢。原因OpenCV DNN 模块默认后端是DNN_BACKEND_OPENCV也就是 CPU 实现。只编译了 GPU 版还不够代码里必须显式指定后端和目标设备。解决在加载模型后调用net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA);和net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA_FP16);。前者让 dnn 走 CUDA 算子后者用半精度推理速度提升明显但精度略降如果对精度敏感可以把CUDA_FP16改成DNN_TARGET_CUDA用 FP32。5.4 CUDA_ARCH_BIN 对不上显卡编译过了但运行时报 no kernel image现象CMake 阶段正常编译正常但 GPU 模块一执行就报no kernel image is available on the device代码里cv::cuda::getCudaEnabledDeviceCount()返回的还可能是 0 或者负值。原因CUDA_ARCH_BIN里写的算力和你实际插着的显卡不一致。比如你在 RTX 3060算力 8.6上编译却填了 6.1编译出的 SASS 指令集和目标 GPU 不兼容。解决重跑一次 CMake把CUDA_ARCH_BIN改成目标显卡的实际算力。如果要在多张显卡上部署写多个算力例如7.5;8.6;8.9但编译时间和库体积都会上涨。这个参数属于编译前必须确认的一项没查算力直接开编就是在赌运气。5.5 CMake 卡死在第三方包下载FFmpeg、IPPICV 下载失败现象CMake configure 阶段进度条卡在IPPICV或者FFmpeg长时间不动最后报错退出。原因OpenCV 的构建脚本会从官方源下载第三方依赖网络环境不稳定时经常失败而失败后不会自动续传直接中断配置。解决看 CMake 输出里显示的下载 URL 和目标文件夹路径手动用浏览器把文件下载下来放到对应缓存目录。OpenCV 的缓存机制是按文件名和哈希存放的放对位置后重新执行 CMake它会直接使用本地缓存。如果想彻底绕开 FFmpeg 的下载可以在 CMake 配置里加-DBUILD_opencv_videoioOFF去掉视频模块纯做图像处理不需要视频读写的话可以这么省事。6. 验证 GPU 加速是否真生效一个 15 分钟的推理基准小程序编译完成不等于加速生效我从不敢在没跑基准前跟别人说「这个版本没问题」。写一个最小的验证程序用 Release 模式跑一下比什么日志都可信。#include opencv2/opencv.hpp #include opencv2/cudaarithm.hpp #include chrono #include iostream int main() { if (cv::cuda::getCudaEnabledDeviceCount() 0) { std::cout 当前 OpenCV 不带 CUDA请回炉 std::endl; return 1; } cv::Mat cpu_img cv::imread(test.jpg); cv::Mat cpu_out; cv::cuda::GpuMat g_in, g_out; g_in.upload(cpu_img); auto t0 std::chrono::high_resolution_clock::now(); for (int i 0; i 100; i) { cv::cuda::resize(g_in, g_out, cv::Size(1280, 720), 0, 0, cv::INTER_LINEAR); } auto t1 std::chrono::high_resolution_clock::now(); double gpu_ms std::chrono::durationdouble, std::milli(t1 - t0).count() / 100; t0 std::chrono::high_resolution_clock::now(); for (int i 0; i 100; i) { cv::resize(cpu_img, cpu_out, cv::Size(1280, 720), 0, 0, cv::INTER_LINEAR); } t1 std::chrono::high_resolution_clock::now(); double cpu_ms std::chrono::durationdouble, std::milli(t1 - t0).count() / 100; std::cout CPU resize 平均耗时: cpu_ms ms std::endl; std::cout GPU resize 平均耗时: gpu_ms ms std::endl; return 0; }代码逻辑很简单先把图片上传到 GPU 显存跑 100 次 resize 取平均耗时再和 CPU 版本对照。getCudaEnabledDeviceCount()返回 0 说明编译出来的库根本没有 CUDA 模块后面全是浪费电。g_in.upload(cpu_img)是 CPU 到显存的拷贝这个动作本身有开销所以循环放在 upload 之后测的是纯计算耗时。如果 GPU 平均耗时明显低于 CPU说明整条编译链路已经打通。对于 DNN 场景核心只有两行net.setPreferableBackend(cv::dnn::DNN_BACKEND_CUDA)和net.setPreferableTarget(cv::dnn::DNN_TARGET_CUDA_FP16)跑同样的推理 100 次取平均你自己会看到差距。我每次给别人讲 GPU 版编译最后都要补一句先查显卡算力再动 CMake别迷信默认值。默认参数能编译出「能用的库」但不一定能编译出「在你机器上跑得起来的库」这两者的区别就是上面那五个坑的全部意义。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

MiniMax H3视频工作室落地实战:部署、提速与国产卡适配

MiniMax H3视频工作室落地实战:部署、提速与国产卡适配

做AI视频落地的同行应该都有过这种经历:论文里的模型看着惊艳,真到自己机器上部署,从依赖冲突、显存爆掉到生成结果完全不是那么回事,每一步都可能劝退。这两年多模态视频生成模型迭代太快,开源社区也出了不少&#xf…

2026/10/14 14:28:43 阅读更多 →
Git核心命令实操总结:提交、撤回、分支与恢复避坑指南

Git核心命令实操总结:提交、撤回、分支与恢复避坑指南

接手一个陌生项目,大多数人下意识的操作就是git clone,这个命令敲了无数遍,闭着眼都能打出来。但真正进到日常开发会发现,好多人对 Git 的认知就停留在 clone、add、commit、push 四个命令上,一旦遇到撤回提交、处理冲…

2026/10/14 14:28:43 阅读更多 →
跨界资源整合:内容与资本的战略合作模式

跨界资源整合:内容与资本的战略合作模式

1. 战略合作背景解析启明社与安盛投资的这次战略合作,本质上是一次典型的跨界资源整合案例。启明社作为内容创作领域的头部机构,拥有强大的IP孵化能力和粉丝基础;而安盛投资则是金融投资领域的专业机构,在资本运作和商业资源方面具…

2026/10/14 14:27:40 阅读更多 →

最新新闻

Docker优缺点深度剖析:从环境一致性到生产级实践避坑指南

Docker优缺点深度剖析:从环境一致性到生产级实践避坑指南

1. 从一次线上事故说起:为什么我又把Docker翻出来重新审视前阵子帮一个朋友排查他那个小团队的项目部署问题,四个人开发,测试环境跑得好好的,一上生产就各种“在我电脑上明明是好的”。这种场景你应该不陌生,我这些年听…

2026/10/14 15:13:01 阅读更多 →
CMAK 2.0.0.2 部署与实战:Kafka 可视化运维核心指南

CMAK 2.0.0.2 部署与实战:Kafka 可视化运维核心指南

简介:本资源为Kafka-Manager(CMAK)2.0.0.2官方预编译版,面向Kafka运维工程师、中间件开发人员及分布式系统学习者,专为简化多集群监控、主题与消费者组管理、在线配置调整等高频运维场景而设计。压缩包共780个文件&…

2026/10/14 15:13:01 阅读更多 →
驾驶员疲劳检测数据集实战:从XML转YOLO到模型训练与调优

驾驶员疲劳检测数据集实战:从XML转YOLO到模型训练与调优

简介:这份资源是面向计算机视觉学习者与智能驾驶方向研究者的YOLO驾驶员疲劳检测数据集,可用于训练和验证闭眼、打哈欠等疲劳行为的实时识别模型,适合具备一定目标检测基础、希望落地疲劳预警项目的读者。压缩包共8744个文件,约25…

2026/10/14 15:13:01 阅读更多 →
POSIX共享内存实战:高实时性IPC的零拷贝设计与避坑指南

POSIX共享内存实战:高实时性IPC的零拷贝设计与避坑指南

1. 共享内存到底是什么,为什么它在高性能场景里不可替代共享内存不是什么新概念,但很多人一听到就下意识觉得“这得是系统级开发才碰得到”,其实完全不是。我最早在做某图像处理Demo时,需要让两个独立进程——一个负责实时采集摄像…

2026/10/14 15:13:01 阅读更多 →
论文党收藏!2026AI写作辅助平台全攻略 含详细免费额度说明

论文党收藏!2026AI写作辅助平台全攻略 含详细免费额度说明

写期刊论文是不是总让你感觉头大?面对繁杂的文献资料、严格的格式要求,还有一遍又一遍的修改,很多学术朋友都遇到写作效率低下的问题。其实,利用AI论文写作工具可以帮你省不少力气。现在,无论是查找资料,还…

2026/10/14 15:13:01 阅读更多 →
M4A转MP3批量转换工具:FFmpeg参数调优与避坑指南

M4A转MP3批量转换工具:FFmpeg参数调优与避坑指南

简介:这是一款面向音频爱好者与日常办公用户的M4A转MP3格式转换工具,主要解决M4A文件在非Apple设备或较旧播放器上兼容性不足的问题,让音乐库能在更多终端顺畅播放。压缩包共2个文件,包含1个exe可执行程序与1个htm说明文档&#x…

2026/10/14 15:11:59 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

2026/10/13 16:22:04 阅读更多 →
影刀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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →