Python3与OpenCV3.3 图像处理(二十五)--开闭操作(补充)

一、顶帽

原图像与开操作之间的差值图像


二、黑帽

闭操作图像与原图像的差值图像


三、形态学梯度

1、基本梯度:膨胀后的图像减去腐蚀后的图像得到的差值图像

2、内部梯度:原图像减去腐蚀之后的图像得到的差值图像

3、外部梯度:图像膨胀之后减去原图像得到的差值图像


四、示例代码

 

import cv2 as cv


def hat(img):
    """顶帽/黑帽梯度"""
    gray = cv.cvtColor(img, cv.COLOR_RGB2GRAY)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
    dst = cv.morphologyEx(gray, cv.MORPH_TOPHAT, kernel)
    cv.imshow("topHat", dst)

    dst = cv.morphologyEx(gray, cv.MORPH_BLACKHAT, kernel)
    cv.imshow("blackHat", dst)


def base(img):
    """基本梯度"""
    gray = cv.cvtColor(img, cv.COLOR_RGB2GRAY)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
    dst = cv.morphologyEx(gray, cv.MORPH_GRADIENT, kernel)
    cv.imshow("base", dst)


de
posted @ 2018-01-02 23:02  ProgramerCat  阅读(109)  评论(0编辑  收藏  举报