《OpenCV轻松入门:面向Python》读书笔记
作者:李立宗
出版社:电子工业出版社
出版时间:2019-05
第8章 形态学操作
8.6 梯度运算
8.6.1 定义
形态学梯度运算是用图像的膨胀图像减腐蚀图像的操作,该操作可以获取原始图像中前景图像的边缘。
例如,图8-20演示了形态学梯度运算
图8-20 实现形态学梯度运算
从图8-20中可以看到,形态学梯度运算使用膨胀图像(扩张亮度)减腐蚀图像(收缩亮度),得到原始图像中前景对象的边缘。
8.6.2 函数
通过将函数cv2.morphologyEx()的操作类型参数op设置为“cv2.MORPH_GRADIENT”,可以实现形态学梯度运算。其语法结构如下:
result=cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)
8.6.3 程序示例
【例8.9】使用函数cv2.morphologyEx()实现形态学梯度运算。
import cv2
import numpy as np
o=cv2.imread("gradient.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.morphologyEx(o,cv2.MORPH_GRADIENT,k)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()
网友评论