作者:小就小-1980 | 来源:互联网 | 2024-12-25 12:53
图像二值化是一种常见的图像处理方法,它通过将图像中的每个像素点的灰度值设置为0(黑色)或255(白色),使图像呈现出明显的黑白对比效果。这种方法能够显著减少图像的数据量,同时突出目标物体的轮廓,广泛应用于计算机视觉和图像处理领域。
以下是几种常见的二值化类型及其工作原理:
- THRESH_BINARY: 当前像素值大于阈值时,设为最大值(Maxval),否则设为0。
- THRESH_BINARY_INV: 当前像素值大于阈值时,设为0,否则设为最大值(Maxval)。
- THRESH_TRUNC: 当前像素值大于阈值时,设为阈值,否则保持不变。
- THRESH_TOZERO: 当前像素值大于阈值时,保持不变,否则设为0。
- THRESH_TOZERO_INV: 当前像素值大于阈值时,设为0,否则保持不变。
理论公式如下:
以下是一个简单的Python代码示例,演示如何使用OpenCV进行图像二值化:
import cv2 as cv
def local_threshold(img):
# 实现局部自适应二值化
pass
# 显示图像
window_name = 'Image'
cv.namedWindow(window_name, cv.WINDOW_AUTOSIZE)
cv.imshow(window_name, img)
cv.waitKey(0)
cv.destroyAllWindows()
local_threshold(img)
局部自适应二值化的效果图如下所示:
更多参考文章: