加载源图像并检查是否已正确加载,然后显示:
watershed详情见另一篇博客https://blog.csdn.net/weixin_43886213/article/details/103092283
from __future__ import print_function
import cv2 as cv
import numpy as np
import argparse
import random as rng
rng.seed(12345)
parser = argparse.ArgumentParser(description='Code for Image Segmentation with Distance Transform and Watershed Algorithm.\
Sample code showing how to segment overlapping objects using Laplacian filtering, \
in addition to Watershed and Distance Transformation')
parser.add_argument('--input', help='Path to input image.', default='cards.png')
args = parser.parse_args()
src = cv.imread(cv.samples.findFile(args.input))
if src is None:
print('Could not open or find the image:', args.input)
exit(0)
# Show source image
cv.imshow('Source Image', src)
然后,如果我们有一个带有白色背景的图像,最好将其转换为黑色。当我们应用距离变换时,这将有助于我们更轻松地区分前景对象:
src[np.all(src == 255, axis=2)] = 0
cv.imshow('Black Background Image', src