OpenCV 利用watershed方法进行图像分割
def watershed_ori(image_path):
"""
输入图像 -> 灰度 -> 二值化(二值化之后注意一下前景是255还是0) -> 距离变换 -> 寻找种子 -> 生成Marker -> 分水岭变换 -> 输出图像
"""
image_name = image_path.split("/")[-1]
image = cv2.imread(image_path)
# image = multiScaleSharpen(image, 5)
# 前提:降噪
# blurred = cv2.pyrMeanShiftFiltering(image, 25, 100)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 第一步:灰度处理
# 第二步:二值化处理 + 反色处理 255 -> 0 | 0 -> 255
# ret, binary = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)
ret, binary = cv2.threshold(gray, 0, 255