OpenCV—python 形态学处理(腐蚀、膨胀、开闭运算、边缘检测)
内容来自博客~
定义结构元素
形态学处理的核心就是定义结构元素,在OpenCV-Python中,可以使用其自带的getStructuringElement函数,也可以直接使用NumPy的ndarray来定义一个结构元素。
可以定义椭圆、矩形、十字形等形态学结构:
椭圆:
cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
矩形:
cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
十字形:
import numpy as np
import cv2
# 创建十字形结构
element= cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
# 注意后引号之前有一个空格
print("element ",element)
NpKernel = np.uint8(np.zeros((5,5)))
for i in range(5):
NpKernel[2,i]= 1
NpKernel[i,2]= 1
print("NpKernel ",NpKernel)
上述结果输出(相同):
array([[0, 0, 1, 0, 0],
[0,

本文介绍了OpenCV-Python中形态学处理的基本操作,包括定义结构元素、腐蚀、膨胀、开运算和闭运算。通过实例展示了如何使用这些方法去除图像噪声、连接分离物体,并提供了相关代码示例。同时,提到了先开后闭和先闭后开两种操作的不同应用场景。
最低0.47元/天 解锁文章
6338

被折叠的 条评论
为什么被折叠?



