C++ OpenCV如何实现腐蚀与膨胀

发布时间:2021-11-26 10:13:17 作者:小新
来源:亿速云 阅读:378

这篇文章主要为大家展示了“C++ OpenCV如何实现腐蚀与膨胀”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++ OpenCV如何实现腐蚀与膨胀”这篇文章吧。

腐蚀与膨胀

是OpenCV提供的两种最基本的形态学操作

形态学操作

 
膨胀

C++ OpenCV如何实现腐蚀与膨胀

背景(白色)膨胀,而黑色字母缩小了。

 
腐蚀

C++ OpenCV如何实现腐蚀与膨胀

相关API

C++ OpenCV如何实现腐蚀与膨胀

getStructuringElement

我们可以为我们的内核选择三种形状之一:

然后,我们还需要指定内核大小,以及 锚点 位置。不指定锚点位置,则默认锚点在内核中心位置。

先上干货

腐蚀和肿胀的Demo演示效果:

代码演示

新建一个项目opencv-0010,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法.并加载我们常用的那个图片显示出来

C++ OpenCV如何实现腐蚀与膨胀

我们先定义element用于做腐蚀和膨胀的操作

在上面设置两个参数

C++ OpenCV如何实现腐蚀与膨胀

定义最大的点和当前的点

然后我们还用到了 createTrackbar这个函数.createTrackbar是Opencv中的API,其可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值,具有非常直观的效果。

膨胀操作

定义膨胀的显示图像名称char showdilate[] = "outputdilate";

定义一个膨胀用的回调函数void cv_dilate(int, void*);

C++ OpenCV如何实现腐蚀与膨胀

然后在Main方法中加入创建滑动条,并实现这个膨胀的方法

C++ OpenCV如何实现腐蚀与膨胀

出现效果

C++ OpenCV如何实现腐蚀与膨胀

当修改上面滑动条后可以看到很明显的膨胀效果

C++ OpenCV如何实现腐蚀与膨胀


腐蚀操作

定义腐蚀的显示窗体名称和方法

C++ OpenCV如何实现腐蚀与膨胀

我们写cv_erode的实现方法

C++ OpenCV如何实现腐蚀与膨胀

然后在Main方法里面加入腐蚀的滑动条

C++ OpenCV如何实现腐蚀与膨胀

显示效果,我们滑动条SIZE调到2

C++ OpenCV如何实现腐蚀与膨胀


以上是“C++ OpenCV如何实现腐蚀与膨胀”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. C++使用opencv处理两张图片的帧差
  2. C++中如何实现OpenCV图像分割与分水岭算法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++ opencv

上一篇:php7如何安装mysqli

下一篇:C#如何实现基于Socket套接字的网络通信封装

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》