图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,二值图像占有非常重要的地位,图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓
二值图像
二值图像是每个像素只有两个可能值的数字图像。常用黑白、B&W、单色图像表示二值图像,但是也可以用来表示每个像素只有一个采样值的任何图像,例如灰度图像等。
二值图像经常出现在数字图像处理中作为图像掩码或者在图像分割、二值化和dithering的结果中出现。二值图像经常使用位图格式存储。所以可以解释为二维整数格 Z2 ,
Code
import cv2 as cv
import numpy
def threshold_demo(image):
# 全局阈值
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
# 大律法,全局自适应阈值 参数0可改为任意数字但不起作用
ret1, binary1 = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
print("OTSU threshold value:%s" % ret1)
cv.imshow("binary1", binary1)
# TRIANGLE法,,全局自适应阈值, 参数0可改为任意数字但不起作用,适用于单个波峰
ret2, binary2 = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_TRIANGLE)
print("TRIANGLE threshold value:%s" % r