简单人工智能技术应用 使用Python+OpenCV进行图像处理(18)

# Apply dilation

kernel = np.ones((9 , 9) , np.uint8)

img_dilate = cv2.dilate(img , kernel , iterations = 3)

plt.figure(figsize = (20 , 10))

plt.subplot(1 , 2 , 1); plt.imshow(img , cmap="gray")

plt.subplot(1 , 2 , 2); plt.imshow(img_dilate , cmap="gray")

plt.show()

开闭运算是侵蚀和扩张的混合形式 。 开运算是指先进行侵蚀 , 然后对侵蚀结果进行扩张操作 。 相对应的 , 闭运算是指先进行扩张 , 再进行侵蚀 。

正如上图所示 , 闭运算一般用于检测图形的整体轮廓 , 开运算用于检测图形的子模式(subpatterns) 。 可以使用函数cv2.morphologyEx()来实现这些操作 。 参数op用于指定使用哪种运算类型(开/闭) 。 完整代码如下所示 。

推荐阅读