OpenCV Python 形态变换
基于图像形状的简单操作被称为形态变换。最常见的两种变换是 腐蚀和膨胀 。
腐蚀
腐蚀消除了前景对象的边界。类似于2D卷积,一个核在图像A上滑动。如果核下的所有像素都是1,则原始图像中的像素保持不变。
否则,它被设为0,因此导致腐蚀。靠近边界的所有像素都被丢弃。这个过程用于去除白色噪声。
OpenCV中 erode() 函数的命令如下:
参数
OpenCV中的 erode() 函数使用以下参数:
src和dst参数是相同大小的输入和输出图像数组。Kernel是用于侵蚀的结构元素矩阵。例如,3X3或5X5。
anchor参数默认为-1,表示锚元素位于中心。迭代指的是应用侵蚀的次数。
膨胀
膨胀与侵蚀正好相反。在这里,如果核下的至少一个像素为1,像素元素就是1。因此,它增加了图像中的白色区域。
dilate()函数的命令如下:
参数
函数 dilate() 与erode()函数具有相同的参数。这两个函数都可以有额外的可选参数,如BorderType和borderValue。
BorderType是图像边界的枚举类型(CONSTANT, REPLICATE, TRANSPERANT等)。
borderValue用于常数边界。默认值为0。
示例
下面是一个示例程序,展示了erode()和dilate()函数的用法−
输出
原始图片
侵蚀
扩张