|
一、什么是图像腐蚀? 比如左边的图像,白色是前景,黑色是背景。如果对当前的图像进行腐蚀,就会得到右边的图像。 简单点就是边被腐蚀掉了。
下面是官网上给的例子:
二、腐蚀的原理 腐蚀一般针对的是二值图像,也就是只有0和1两个。0就是黑色,1就是白色。我们所谓的腐蚀是指针对他的前景色,就是像素点的值为1的那些像素点。
我们进行腐蚀操作,有两个数据对象,一个是原始图像,另一个是卷积核。 在腐蚀的时候,我们使用卷积核(实际上也是一个二值的图像(就是一个数组))。将卷积核在原始图像里面逐个像素地进行遍历。(卷积核有一个中心点,以这个点进行遍历。)
当遍历到某一个点时,如果这个点以核为单位的周围的像素点都是白色,那么这个点的颜色就保持不变(仍然为1,白色) 如果这个点在核的范围之内存在黑色点,那就将这个点设为黑色。
所以,经过这样操作很明显。中间的点周围都是白色,所以还是白色。而边缘的点周围有黑又白,会变成黑色。 这样就把边缘腐蚀掉了。
三、操作 dst = cv2.erode(src, kernel, iterations) //src:源图像 //kernel:核。 //iterations:迭代次数。指进行多少次腐蚀。默认是1.
核需要使用ones函数生成。 kernel= np.ones((5,5),np.uint8)
例1:
结果:
还是能看出一点来。
如果改成: result = cv2.erode(image,kernel,iterations=5) 结果如下:
|