局部阈值处理
当图像的色彩分布不均衡时,使用全局阈值处理的效果不是很好,这是使用局部阈值处理来进行分割,可以产生很好的效果。
局部阈值的处理原理是,针对每一个像素点专门配置一个阈值来进行处理,这些阈值就构成了和原图像维度相同的矩阵。
代码展示
import cv2 as cv
image = cv.imread("lena.jpg", cv.IMREAD_GRAYSCALE)
ret, dst = cv.threshold(image, 127, 255, cv.THRESH_BINARY)
mean = cv.adaptiveThreshold(image, 255,
cv.ADAPTIVE_THRESH_MEAN_C,
cv.THRESH_BINARY, 5, 3)
guass = cv.adaptiveThreshold(image, 255,
cv.ADAPTIVE_THRESH_GAUSSIAN_C,
cv.THRESH_BINARY, 5, 3)
cv.imshow("image", image)
cv.imshow("threshold", dst)
cv.imshow("mean", mean)
cv.imshow("guass", guass)
cv.waitKey()
cv.destroyAllWindows()




重要代码解释
dst = cv.adaptiveThreshold(src, maxval,adaptiveMethod,thresholdType, blockSize, c)
- src:原图像。必须是8位单通道的图像。
- maxval:最大值。
- adaptiveMethod:自适应方法。
- thresholdType:阈值处理方法。
- blockSize:块的大小。
- c:常量。
本文介绍了在图像色彩分布不均衡时,如何使用Python和OpenCV进行局部阈值处理以改善图像分割效果。局部阈值处理对每个像素点设置特定阈值,形成与原图相同维度的矩阵。文中包含代码展示及重要代码解释。

4500

被折叠的 条评论
为什么被折叠?



