import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
# 对于每个像素,应用相同的阈值。
# 如果像素值小于阈值,则将其设置为0,否则将其设置为最大值。
# 函数cv.threshold用于应用阈值。
# 第一个参数是源图像,它应该是灰度图像。
# 第二个参数是阈值,用于对像素值进行分类。
# 第三个参数是分配给超过阈值的像素值的最大值。
# OpenCV提供了不同类型的阈值,这由函数的第四个参数给出。
# 通过使用cv.THRESH_BINARY类型。所有简单的阈值类型为
# cv.THRESH_BINARY 正常二值化
# cv.THRESH_BINARY_INV 翻转二值化
# cv.THRESH_TRUNC 小于阈值不变,大于为最大
# cv.THRESH_TOZERO 大于阈值不变,小于为最小
# cv.THRESH_TOZERO_INV 翻转上面的
img = cv.imread('girl.jpg', 0)
ret, thresh1 = cv.threshold(img, 127, 255, cv.THRESH_BINARY)
ret, thresh2 = cv.threshold(img, 127, 255, cv.THRESH_BINARY_INV)
ret, thresh3 = cv.threshold(img, 127, 255, cv.THRESH_TRUNC)
ret, thresh4 = cv.threshold(img, 127, 255, cv.THRESH