码迷,mamicode.com
首页 > 其他好文 > 详细

opencv形态学操作之开运算、闭运算

时间:2019-09-03 11:48:16      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:color   结构   class   href   rod   holo   int   strong   read   

原图:

技术图片

开运算:

先腐蚀后膨胀叫开运算(因为先腐蚀会分开物体,这样容易记住),其作用是:分离物体,消除小区域。这类形态学操作用cv2.morphologyEx()函数实现:

下面两份代码分别对应通过先腐蚀后膨胀的效果 和 直接通过开运算的效果

import cv2
import numpy as np

img = cv2.imread("zw.jpg", 0)
kernel = np.ones((3, 3), np.uint8)
kerne2 = np.ones((5, 5), np.uint8)
erodtion = cv2.erode(img, kernel, iterations=2)
dilation = cv2.dilate(erodtion, kerne2, iterations=1)
import cv2
import numpy as np

img = cv2.imread("zw.jpg", 0)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))  # 矩形结构
open = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

技术图片

 

 可以看到两者差别不大。

闭运算

先膨胀后腐蚀(先膨胀会使白色的部分扩张,以至于消除/"闭合"物体里面的小黑洞,所以叫闭运算)

import cv2
import numpy as np

img = cv2.imread("zw.jpg", 0)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))  # 矩形结构
open = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel, iterations=2)

技术图片

 

 可以看出左侧原图中的黑点,通过闭运算后被填充掉了

opencv形态学操作之开运算、闭运算

标签:color   结构   class   href   rod   holo   int   strong   read   

原文地址:https://www.cnblogs.com/answerThe/p/11451619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!