【OpenCV】Python对图片进行二值化处理

环境:python+opencv

我们对这样一张图片进行二值化处理
【OpenCV】Python对图片进行二值化处理_第1张图片
代码如下

import cv2

# 读取图像
img = cv2.imread('black-white.jpg')

# 变微灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 大津法二值化
retval, dst = cv2.threshold(gray, 0, 255, cv2.THRESH_OTSU)

# 腐蚀和膨胀是对白色部分而言的,膨胀,白区域变大,最后的参数为迭代次数
dst = cv2.dilate(dst, None, iterations=1)
# 腐蚀,白区域变小
dst = cv2.erode(dst, None, iterations=4)

cv2.imshow('binary', dst)

cv2.waitKey(0)

最终得到二值化后的图片
【OpenCV】Python对图片进行二值化处理_第2张图片

ps:如果效果不好,要调整腐蚀膨胀

你可能感兴趣的:(Python,学习OpenCV)