我可以在 OpenCV 中为 Otsu 阈值添加偏差吗?

Ale*_*are 2 python opencv image-thresholding

这是我的例子。左到右:

  1. 原图
  2. 灰度 + (3,3) 高斯模糊
  3. 大津阈值+反转像素

在此处输入图片说明

我想捕捉更多笔触的微弱部分。我知道 Otsu Thresholding 试图在像素强度直方图的两个峰值之间应用阈值点,但我想稍微偏置一下,以便我可以捕获一些较亮的像素。

可以开箱即用吗?还是我需要做一些手动?

Ale*_*are 5

我对橡皮鸭现象有一个回答。

th, th_img = cv2.threshold(blur, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
Run Code Online (Sandbox Code Playgroud)

返回元组的第 0 个索引 ( th) 是 Otsu 二值化算法选择的阈值。在常规二进制阈值中使用它之前,我可以丢弃th_img并应用我喜欢的任何偏见th

desired_th = th*1.2
_, th_img = cv2.threshold(blur, desired_th, 255, cv2.THRESH_BINARY)
Run Code Online (Sandbox Code Playgroud)

这是我得到的。通过清除可能出现在外面的不需要的斑点,我会得到我想要的。

在此处输入图片说明