尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ddddocr + opencv拖动滑动拼图总偏几个像素
ddddocr cv总是“偏一点”通常不是识别错而是坐标定义、透明边距或缩放比例导致的系统性偏差。目前ddddocr.slide_match()返回的是匹配框target[x1,y1,x2,y2]而不同版本/封装里target_x的含义可能并不完全适合直接拿来当拖动距离官方示例也建议直接看target框。透明滑块默认走边缘匹配非透明滑块才更适合simple_targetTrue。如果是你自己的验证码/测试环境我建议先这样改res slide.slide_match(target_bytes, bg_bytes)x1, y1, x2, y2 res[target]print(匹配框:, x1, y1, x2, y2)# 不要直接假设 target_x 就等于最终位移match_x x1然后重点检查滑块 PNG 左边有没有透明空白。比如滑块实际轮廓从第 7px 才开始那么 ddddocr 匹配的是轮廓但你的拖动起点可能按整个 PNG 左边缘计算就会稳定差 510px。可以先把透明边距算出来import cv2import numpy as npimg cv2.imdecode(np.frombuffer(target_bytes, np.uint8),cv2.IMREAD_UNCHANGED)if img.shape[2] 4:alpha img[:, :, 3]ys, xs np.where(alpha 20)left_padding xs.min()right_padding img.shape[1] - 1 - xs.max()print(left padding:, left_padding)print(right padding:, right_padding)如果你发现ddddocr x 168实际正确位置 174left_padding 6那基本就对上了correct_x x1 left_padding另一个很常见的问题是页面显示尺寸和原图尺寸不一致。例如后台图片原始宽度是 600网页实际显示只有 300pxscale displayed_width / image_widthdrag_x correct_x * scale比如image_width 600displayed_width 300drag_x correct_x * 300 / 600会直接差一倍。如果只是固定差 3~8 px则更像透明边缘/阴影如果偏差随目标位置越来越大例如左边差 2px、右边差 15px那基本就是缩放比例问题。OpenCV 也可以做二次定位避免 ddddocr 的 Canny 边缘落在阴影外沿target cv2.imdecode(np.frombuffer(target_bytes, np.uint8),cv2.IMREAD_GRAYSCALE)bg cv2.imdecode(np.frombuffer(bg_bytes, np.uint8),cv2.IMREAD_GRAYSCALE)target_edge cv2.Canny(target, 80, 160)bg_edge cv2.Canny(bg, 80, 160)result cv2.matchTemplate(bg_edge,target_edge,cv2.TM_CCOEFF_NORMED)_, score, _, loc cv2.minMaxLoc(result)cv_x loc[0]print(ddddocr:, x1)print(opencv:, cv_x)print(score:, score)ddddocr 当前实现本身也是灰度/边缘检测后做滑块匹配所以这种偏移很可能来自轮廓取法而不是 OCR 模型。你可以先判断一个规律偏差现象 最可能原因每次固定偏 5px 左右 滑块透明边距/阴影位置越靠右偏得越多 图片 CSS 缩放有时左偏、有时右偏 Canny 边缘匹配不稳定固定差半个滑块宽度 用了中心坐标而不是左边界Retina/手机页面约差 2 倍 DPR / canvas 尺寸问题
RELATED

相关推荐

AI编程持久记忆新思路:不用Embeddings的本地结构化方案

AI编程持久记忆新思路:不用Embeddings的本地结构化方案

如果你在真实项目里长期使用 Claude Code、Cursor 或者类似的 AI 编程 agent,大概率遇到过这种场景:上午刚让 agent 记住一套接口规范和项目背景,下午新开一个会话,它又像第一次见面一样,问出一模一样的问题——“这个…

📅 2026/10/19 10:07:08
第4章 数据资产战略委员会与治理架构设计

第4章 数据资产战略委员会与治理架构设计

某百亿快消品集团启动数据资产入表半年后,项目陷入停滞。[1]原因不是技术不行,也不是政策不清。而是:CFO坚持用成本法保守估值,认为"经得起审计的才是资产";CDO认为收益法才能体现数据真实价值,&…

📅 2026/9/20 10:49:49
提示学习研究-CoT-自洽性-ToT(思维链、思维树)

提示学习研究-CoT-自洽性-ToT(思维链、思维树)

提示学习(Prompt Learning)包括:思维链(Chain-of-Thought, CoT):开山之作自洽性(Self-Consistency):多路径推理思维树(Tree-of-Thoughts, ToT)&am…

📅 2026/10/6 6:11:57
MORE NEWS

更多资讯

📰

如何让你的旧 Mac 跑起最新 macOS:OCLP 完整使用教程(含排错)

如何让你的旧 Mac 跑起最新 macOS:OCLP 完整使用教程(含排错) 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 如果你的旧 …

📰

PySceneDetect部署指南:从开发环境到生产环境的完整流程

PySceneDetect部署指南:从开发环境到生产环境的完整流程 【免费下载链接】PySceneDetect :movie_camera: Python and OpenCV-based scene cut/transition detection program & library. 项目地址: https://gitcode.com/GitHub_Trending/py/PySceneDetect …

📰

OpenCreator 开源 AI 创作工作台完整指南:本地视频翻译、配音与生成一次跑通

OpenCreator 开源 AI 创作工作台完整指南:本地视频翻译、配音与生成一次跑通 【免费下载链接】OpenCreator Formerly KrillinAI, VideoTranslation and Dubbing Tool for 120 Languages. Open-source AI workspace for creators, powered by Codex. Video downloade…

📰

Windows 虚拟显示器实战:零成本扩展多屏显示

Windows 虚拟显示器实战:零成本扩展多屏显示 【免费下载链接】Virtual-Display-Driver Add virtual monitors to your windows 10/11 device! Works with VR, OBS, Sunshine, and/or any desktop sharing software. 项目地址: https://gitcode.com/gh_mirrors/vi/…

📰

PySceneDetect性能优化:加速处理大型视频文件的8个技巧

PySceneDetect性能优化:加速处理大型视频文件的8个技巧 【免费下载链接】PySceneDetect :movie_camera: Python and OpenCV-based scene cut/transition detection program & library. 项目地址: https://gitcode.com/GitHub_Trending/py/PySceneDetect …

📰

Myo肌电臂环中文入门指南及基于matlab获取Myo臂环信号

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

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬