OpenCV的形态学操作(Morphological Transformation)
erosion
侵蚀图形,瘦身操作。
dilate
膨胀图形,增肥操作。
Opening
开运算,先侵蚀后膨胀。
去除噪声,分开噪声。
Closing
闭运算,先膨胀后侵蚀。
填充关闭对象内部的小洞,或者图像上的小黑点。
Morphological Gradient
形态梯度
显示对象的轮廓
Top Hat
顶帽变换
- 功能:顶帽变换用于校正不均匀关照的影响,对灰度图像进行物体分割的工具,要求处理物体在亮度上能够与背景分开,即使背景的灰度不均匀,这个条件也要满足。顶帽已被分水岭所代替。
- 原理:开运算结果同原物体的差构成了一个运算
Black Hat
黑帽变换
- 功能:突出比原图轮廓周围更暗的区域。
- 原理:闭运算减去原图像构成的一个运算。
Structuring Element
得到不同的元素组成的单个例子
- cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
array([
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]], dtype=uint8) - cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
array([
[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0]], dtype=uint8) - cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
array([
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0]], dtype=uint8)