python-opencv-cv2.threshold()二值化函数详解

1.cv2.threshold()参数说明

cv2.threshold(src, thresh, maxval, type[, dst]) → retval, dst

参数 描述 src 表示的是图片源 thresh 表示的是阈值(起始值) maxval 表示的是最大值 type 表示的是这里划分的时候使用的是方法选择参数

常用值为0(cv2.THRESH_BINARY) 第四个是一个方法选择参数,常用的有: • cv2.THRESH_BINARY(黑白二值) • cv2.THRESH_BINARY_INV(黑白二值反转) • cv2.THRESH_TRUNC (得到的图像为多像素值) • cv2.THRESH_TOZERO • cv2.THRESH_TOZERO_INV 该函数有两个返回值,retVal:得到的阈值,dst:阈值化后的图像

公式中0代表黑,设置最大阈值maxval为255(白)就可以进行二值化处理

2.代码示例

import cv2
import numpy as np
# 读取照片
img=cv2.imread(D:\Patrick_Star.jpg)
# 图像缩放
img = cv2.resize(img,None,fx=0.1,fy=0.1)
cv2.imshow(img,img))
# 灰度处理
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow(gray,gray)
# cv2.threshold()二值化
_,thres = cv2.threshold(gray, 180, 255, cv2.THRESH_BINARY_INV)
cv2.imshow(thres,thres)
# 展示图片
cv2.waitKey(0)
cv2.destroyAllWindows()
经验分享 程序员 微信小程序 职场和发展