全局阈值
全局阈值就是在整个图像中将灰度阈值设置成一个常数,全局阈值适合如下场景:图像背景的灰度值在整个图像中可合理的看作恒定,而且所有物体和背景都具有几乎相同的对比度,反应在直方图上就是 具有明显的双峰。在此种情况下,只要选择合适的阈值,使用固定的全局阈值往往会有比较好的效果。全局阈值选择的主要方法有:人工选择法、直方图选择法、迭代式阈值选择法、最大类间方差阈值(Otsu)。
在OpenCV中图像的二值化分割采用的是 cv2.threshold(src, thresh, maxval, type, dst=None)
- 第一个参数src: 原图像
- 第二个参数thresh: 分类的阈值
- 第三个参数 maxval:高于阈值时选取的新的值
- 第四个参数maxval: 就是 上述介绍的几个方法选择参数
常用的有:• cv2.THRESH_BINARY(黑白二值)
• cv2.THRESH_BINARY_INV(黑白二值反转)
• cv2.THRESH_TRUNC (得到的图像为多像素值)
• cv2.THRESH_TOZERO
• cv2.THRESH_TOZERO_INV - 返回值(2个):第一个 retVal: 得到的阈值,第二个 就是阈值化后的图像
import cv2
import numpy as np
img = cv2.imread("sources/lena_1.tiff",0)
from matplotlib import pyplot as plt
ret , thresh = cv2.th