You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何系统性检测键盘黑键?OpenCV形状检测稳定性问题求助

摄像头键盘按键检测:稳定识别黑键的解决方案

问题背景

我正在开发一个基于摄像头的键盘按键检测项目,经过模糊、灰度化及形状检测处理后,使用OpenCV的cv.findContours可以稳定检测白键,但黑键的检测结果每次运行都不一致——部分黑键有时能检测到,有时检测不到。我尝试过调整自适应高斯阈值、高斯模糊的参数,但始终无法稳定检测全部黑键,因此寻求系统性检测黑键的方法。

补充信息

  • Q、H、O分别代表四边形、六边形、八边形,用于标注按键形状
  • 使用Python 3开发

解决方案

后续已解决该问题,核心思路是针对白键和黑键的视觉特征差异,分别设置适配的自适应阈值参数提取边缘,再通过cv2.bitwise_or合并两张阈值图像,最终实现黑键的稳定检测。

实现代码如下:

threshWhite = cv.adaptiveThreshold(img, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 11, 4)
threshBlack = cv.adaptiveThreshold(img, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, cv.THRESH_BINARY, 7, 3)
thresh = cv.bitwise_or(threshWhite, threshBlack)

内容的提问来源于stack exchange,提问作者Scott Caulfield

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:30:37