opencv 形态转换

opencv 形态转换_第1张图片

腐蚀
内核在图像中华东,原始图像中的一个像素(1或0)只有在内核下的所有像素都是1时才会被认为是1,否则就会变为0.
所以边界因为都不是1,所以都会变成0

import cv2 as cv
import numpy as np
img = cv.imread('j.png',0)
kernel = np.ones((5,5),np.uint8)
erosion = cv.erode(img,kernel,iterations = 1)

opencv 形态转换_第2张图片

扩张
与腐蚀的作用相反

dilation = cv.dilate(img,kernel,iterations = 1)

opencv 形态转换_第3张图片

开放
开放是腐蚀的另外一个称呼

opening = cv.morphologyEx(img, cv.MORPH_OPEN, kernel)

opencv 形态转换_第4张图片
关闭
关闭与开放作用相反

closing = cv.morphologyEx(img, cv.MORPH_CLOSE, kernel)

opencv 形态转换_第5张图片
形态学梯度

gradient = cv.morphologyEx(img, cv.MORPH_GRADIENT, kernel)

opencv 形态转换_第6张图片

高帽

tophat = cv.morphologyEx(img, cv.MORPH_TOPHAT, kernel)

opencv 形态转换_第7张图片

黑帽

blackhat = cv.morphologyEx(img, cv.MORPH_BLACKHAT, kernel)

opencv 形态转换_第8张图片

参考文献:
https://blog.csdn.net/qq_41905045/article/details/81335275
https://docs.opencv.org/3.4.3/d9/d61/tutorial_py_morphological_ops.html

你可能感兴趣的:(图像识别)