opencv-学习笔记(5)形态学转变

              opencv-学习笔记(4)形态学转变

本章讲了几种形态学操作

  1. 腐蚀erode
  2. 膨胀dilate
  3. 开运算MORPH_OPEN
  4. 闭运算MORPH_CLOSE
  5. 形态学梯度MORPH_GRADIENT
  6. 礼帽MORPH_TOPHAT
  7. 黑帽子MORPH_BLACKHAT

腐蚀erode

首先卷积核滑动,如果对应的原图像所有像素都是1,中心元素就保持,否则为0

随着卷积核的靠近前景的所有像素都会被腐蚀-变0.

我们可以去除白噪声,也可以断开两个连在一起的物体

import cv2

import numpy as np

img=cv2.imread('black.png',0)

kernel=np.ones((5,5),np.uint8)#定义一个卷积核以及图像类型

erosion=cv2.erode(img,kernel,iterations=1)

cv2.imshow('sdss',img)

扫描二维码关注公众号,回复: 1419158 查看本文章

cv2.imshow('sds',erosion)

cv2.waitKey(0)

 


膨胀操作dilate

可以连接物体

import cv2

import numpy as np

img=cv2.imread('connection.jpg',0)

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

erosion=cv2.erode(img,kernel,iterations=1)

dilate=cv2.dilate(img,kernel,iterations=1)

cv2.imshow('sdss',img)

cv2.imshow('sdsa',dilate)

cv2.waitKey(0)


开运算morphologyEx(图像对象,cv2.MORPH_OPEN,kernel)#morph改变

对图像进行腐蚀再膨胀就叫开运算

同样也用于去噪声

 


闭运算morphologyEx(img,cv2.MORPH,kernel)

就是先膨胀再腐蚀

一般用来填充前景物体中的小洞

 


 

形态学梯度

         就是衣服图像膨胀和腐蚀的差别

         看上去想轮廓而已

         morphologyEx(img,cv2.MORPH_GRADIENT,kernel)


 

礼帽

是图像与开运算后的差,可以获取背景噪声

参数cv2.MORPH_TOPHAT

 


黑帽

是图像与闭运算后的差,获取前景噪声

参数cv2.MORPH_BLACKHAT

猜你喜欢

转载自www.cnblogs.com/DJC-BLOG/p/9126979.html