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

如何从浅黄色纸张中精准分割深蓝色斑点?

浅黄色纸张上深蓝色斑点的分割解决方案建议

一、更适用的局部阈值法推荐

  • Niblack阈值法:专门针对光照不均场景,计算每个局部窗口内的均值和标准差,阈值设为均值 - k*标准差(k为可调参数,通常取0.1-0.5),能有效压制阴影带来的亮度差异,对空白卡片的误检也比Otsu稳定。
  • Sauvola阈值法:Niblack的改进版,阈值公式为均值 * (1 + k*(标准差/ R - 1)),其中R是预设的最大标准差(比如128),对低对比度区域的处理更友好,适合分割模糊的小污渍。
  • 自适应高斯阈值法:用局部窗口内的高斯加权均值作为阈值,相比简单局部均值更能保留边缘细节、减少噪声干扰,OpenCV里调用cv2.adaptiveThreshold并指定ADAPTIVE_THRESH_GAUSSIAN_C模式即可实现。

二、边缘检测转二值图像的步骤

  1. 预处理降噪:先用cv2.GaussianBlur做高斯模糊过滤噪声,避免小污渍、阴影引入的杂讯干扰边缘检测。
  2. 精准边缘提取:用Canny边缘检测,把低阈值设为高阈值的1/3左右,提取斑点边缘;如果效果不好,可以先转到HSV颜色空间,提取蓝色分量再做边缘检测,减少浅黄色背景的干扰。
  3. 边缘闭合与填充:用cv2.dilate(膨胀)操作连接断开的边缘,再用cv2.findContours找到轮廓,最后在空白画布上用cv2.drawContours填充轮廓内部,得到二值分割图。

三、额外优化建议

  • 结合颜色空间:先把图像转到HSV,提取色相(H)通道——深蓝色和浅黄色色相差异大,对H通道做局部阈值处理,能避开阴影带来的亮度影响,比直接用灰度图更精准。
  • 后处理优化:分割得到二值图后,用形态学开操作(先腐蚀再膨胀)去除小噪声点,闭操作填充斑点内部空洞,进一步提升分割效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:25:28