【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算

1、开运算

先腐蚀后膨胀的操作称为开运算

开运算的作用:消除细小物体、在窄区域分离物体、平滑大物体边界等。

开运算函数: cv2.morphologyEx(图像, cv2.MORPH_OPEN,矩阵)

  • cv2.MORPH_OPEN 是常量,意为开运算

示例代码:

import cv2
import numpy as np
img = cv2.imread("./k.jpg")
k = np.ones((20, 20), np.uint8)
k_img = cv2.morphologyEx(img, cv2.MORPH_OPEN,k) 
cv2.imshow("img", img)
cv2.imshow("k_img", k_img)
cv2.waitKey()

运行结果:

原图
【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算_第1张图片
开运算后:
【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算_第2张图片

2、闭运算

先膨胀后腐蚀的操作称为闭运算
作用:填充物体空洞、消除噪声、连接邻近物体、平滑边界等。

闭运算函数: cv2.morphologyEx(图像, cv2.MORPH_CLOSE,矩阵)

  • cv2.MORPH_CLOSE 是常量,意为闭运算
import cv2
import numpy as np


img = cv2.imread("./csdnb.jpg")

k1 = np.ones((8, 8), np.uint8)
k2 = np.ones((15, 15), np.uint8)
k3 = np.ones((22, 22), np.uint8)

k1_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, k1)
k2_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, k2)
k3_img = cv2.morphologyEx(img, cv2.MORPH_CLOSE, k3)

cv2.imshow("img", img)
cv2.imshow("k1_img", k1_img)
cv2.imshow("k2_img", k2_img)
cv2.imshow("k3_img", k3_img)
cv2.waitKey()

运行结果:

原图
【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算_第3张图片
k1:

【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算_第4张图片

k2:

【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算_第5张图片

k3:
【python-opencv入门笔记】9 - 形态学操作:开运算、闭运算_第6张图片

你可能感兴趣的:(opencv,opencv,python,计算机视觉)