我是靠谱客的博主 糟糕麦片,最近开发中收集的这篇文章主要介绍OpenCV学习笔记-开闭操作,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

开操作和闭操作都是基于膨胀和腐蚀操作组合形成的。先腐蚀再膨胀就是开操作,先膨胀再腐蚀就是闭操作了。

 

 

 

用开操作可以去除噪声,也可以提取水平或者垂直的直线。

这里我们提一个函数getStructuringElement(),它用来返回指定形状和尺寸的结构元素。

 

 

 

 

getStructuringElement(shape, ksize, anchor=None)

返回指定形状和尺寸的结构元素

shape 表示内核的形状:矩形 MORPH_RECT,交叉形 MORPH_CROSS,椭圆形 MORPH_ELLIPSE

ksize 表示内核的尺寸

anchor 锚点的位置

我们在以后的操作都离不开这个函数。

一、开操作

我们使用基本的操作,可以去除噪声。

kernel = cv.getStructuringElement(cv.MORPH_RECT, (3, 3))
dst = cv.morphologyEx(thresh, cv.MORPH_OPEN, kernel)

 

 

 

当我们改变内核的大小,就能达到不同的效果,比如我们设置ksize=(15,1),就可以

 

 

提取图像中的水平直线:

kernel = cv.getStructuringElement(cv.MORPH_RECT, (15, 1))
dst = cv.morphologyEx(thresh, cv.MORPH_OPEN, kernel)

同理,我们让ksize=(1,15),就可以提取图像中的垂直直线。

 

 

二、闭操作

 

 

闭操作可以用来填充前景物体中的小洞,或者前景物体上的小黑点。

kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE, (5, 5))
dst = cv.morphologyEx(thresh, cv.MORPH_CLOSE, kernel)

 

 

当我们改变内核的形状,也能达到不同的效果,比如提取图像中的圆。

#可以提取图像中的圆点
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE, (5, 5))
dst = cv.morphologyEx(thresh, cv.MORPH_CLOSE, kernel)

 

 

最后

以上就是糟糕麦片为你收集整理的OpenCV学习笔记-开闭操作的全部内容,希望文章能够帮你解决OpenCV学习笔记-开闭操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部