低阈值零处理

2022-05-28 16:37:11 浏览数 (3)

代码语言:javascript复制
import cv2
img=cv2.imread('C:/Users/xpp/Desktop/Lena.png')#原始图像
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#将彩色图片转换为灰度图片
t,rst=cv2.threshold(gray,127,255,cv2.THRESH_TOZERO)#低阈值零处理
cv2.imshow("img",img)
cv2.imshow("rst",rst)
cv2.waitKey()
cv2.destroyAllWindows()

算法:低阈值零处理是将图像中大于阈值的像素值保持不变,小于或等于阈值的像素值设为黑色(0)。低阈值零处理应用在边缘提取、图像分割、目标识别等领域。

低阈值零处理方式示意图:

例子:

设定阈值为130,即大于130的像素值保持不变,小于或等于130的像素值设为0(黑色)。

retval, dst=cv2.threshold(src, thresh, maxval, type)

  • src表示输入图像
  • thresh表示阈值
  • maxval表示如果参数type为THRESH_TOZERO,设定最大值
  • type表示阈值分割的类型

文献:Otsu, N. . (1979). A thresholding selection method from gray-level histogram. IEEE Trans.syst.man. & Cybern, 9(1), 62-66.

Donoho, & D., L. . (2002). Denoising by softthresholding. IEEE Transactions on Information Theory, 41(3), 613-627.

Mallat, S., Hwang, & W., L. . (1992). Singularity detection and processing with wavelets. IEEE Trans. Inform. Theory, 38(2), 617-643.

注意:低阈值零处理的图像是彩色图像还是灰度图像。通常情况下,低阈值依靠人工经验来自定义。

0 人点赞