今天延续上一篇博客为大家讲一下形态学运算里面的梯度运算,礼帽操作和黑猫图像处理。
梯度运算就是在原始图像上,先经过膨胀操作得到膨胀图像,然后经过腐蚀操作,得到腐蚀图像,再利用得到的膨胀图像减去腐蚀图像得到的轮廓就是梯度操作。
梯度(image)=膨胀(image)-腐蚀(image)
梯度运算的结果是得到轮廓图像
进行梯度运算时,我们需要调用函数morphologyEx()
result=cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel)
具体参数和腐蚀操作参数含义一致,不做过多说明。
import cv2
import numpy as np
a=cv2.imread(r"C:\Users\LT010407\Desktop\2.jpg")
k=np.ones((5,5),np.uint8)
b=cv2.morphologyEx(a,cv2.MORPH_GRADIENT,k)
cv2.imshow("a",a)
cv2.imshow("b",b)
礼帽操作和梯度运算相似,通过原始图像减去对原始图像进行开运算后得到的开运算图像,即得到礼貌图像。
礼帽(image)=原始图像(image)-开运算图像(image)
礼帽操作的结果可以获得噪声图像
在礼帽操作中需要调用函数morphologyEx()
result=cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel)
这里均调用了morphologyEx()函数,只是里面一个固定的参数的变化。
import cv2
import numpy as np
a=cv2.imread(r"C:\Users\LT010407\Desktop\2.jpg")
k=np.ones((5,5),np.uint8)
b=cv2.morphologyEx(a,cv2.MORPH_TOPHAT,k)
cv2.imshow("a",a)
cv2.imshow("b",b)
和礼帽操作相似,黑帽操作是在原始图像基础上进行闭运算得到闭运算图像,然后用闭运算图像减去原始图像得到黑帽图像。
黑帽图像(image)=闭运算图像(image)-原始图像(image)
得到图像内部的小孔,或前景色中的小黑点
result=cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel)
这里均调用了morphologyEx()函数,只是里面一个固定的参数的变化。
import cv2
import numpy as np
a=cv2.imread(r"C:\Users\LT010407\Desktop\2.jpg")
k=np.ones((5,5),np.uint8)
b=cv2.morphologyEx(a,cv2.MORPH_BLACKHAT,k)
cv2.imshow("a",a)
cv2.imshow("b",b)
今天讲了三个形态学操作,都是继承了前一篇博客的morphologyEx()函数,具体参数解释还得认真看一下上一篇博客。今天就到这里,小伙伴们下一篇博客见(转载注明出处)