【问题标题】:Adaptive threshold with blurry image具有模糊图像的自适应阈值
【发布时间】:2013-09-08 19:04:15
【问题描述】:

我正在寻找用于图像二值化的最佳自适应阈值方法。但是我对深色和模糊的图像有任何问题。
输入图像:

当我使用自适应阈值方法时,我会收到此
输出图像

这对我不好!
那么,有人可以帮我解决这个问题吗?


另一张图片:

和:

@Hammer'solution 的第一个看起来很糟糕(我必须选择 c 通道),第二个我可以使用自适应阈值正常。
所以我想为所有情况找到最佳解决方案。

再次感谢!

【问题讨论】:

    标签: opencv adaptive-threshold


    【解决方案1】:

    在图像中,颜色似乎是比强度更好的分割指标。尝试将其转换为 HSV,然后在 H 通道上运行 OTSU。

    在python中

    hsv = cv2.cvtColor(image, cv2.cv.CV_BGR2HSV)
    cv2.imshow('hsv', hsv[:,:,0])
    (thresh, im_bw) = cv2.threshold(hsv[:,:,0], 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
    cv2.imshow('OTSU', im_bw)
    

    提供 (hsv)

    然后(OTSU)

    有点腐蚀和扩张,你应该好好去

    【讨论】:

    • 是的,Hammer 感谢您的提问。这似乎对这种情况有利,对任何情况都不利。那么我该如何选择最佳解决方案呢?谢谢!
    • @minhthuan 这个好和其他坏的结果有什么不同?显示一些不符合 Hammer 解决方案的图像。
    • 不错的答案。如何选择阈值以获得多个级别?已经有一些 OpenCv 魔法了?
    【解决方案2】:

    如果单个阈值不足以分隔所有图像,您可以尝试使用两个阈值的Watershed algorithm

    使用高阈值来获取具有绝对属于数字的片段的图像,并使用高逆阈值来获取具有绝对不属于数字的片段的图像。

    稍微腐蚀两个图像以增加确定性。

    然后将 2 张图片用作 Watershed 的种子。

    Here is an answer where this is done

    【讨论】:

      【解决方案3】:

      您可能对 openCV 使用的these 自适应阈值感兴趣。

      我使用了自适应平均阈值。您可能需要稍微调整一下参数,但如果您的图像相似(相同大小等),希望不需要太多调整。

      # Smooth image
      filtered = cv2.adaptiveThreshold(input_image.astype(np.uint8), 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 41, 3)
      
      # Some morphology to clean up image
      kernel = np.ones((5,5), np.uint8)
      opening = cv2.morphologyEx(filtered, cv2.MORPH_OPEN, kernel)
      closing = cv2.morphologyEx(opening, cv2.MORPH_CLOSE, kernel)
      

      结果:

      【讨论】:

        【解决方案4】:

        以下代码...

        im=cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,111,3)
        cv2.imshow('mkm',im)`
        

        ... 给出了很好的结果:

        【讨论】:

          猜你喜欢
          • 2012-11-03
          • 1970-01-01
          • 2016-02-03
          • 2012-11-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-02-15
          • 2020-05-27
          相关资源
          最近更新 更多