形态学处理(一)膨胀(dilate)与腐蚀(erode)
来源:互联网 发布:湖边凶杀案知乎 编辑:程序博客网 时间:2024/05/16 16:23
本系列文章的部分文字叙述转载@浅墨_毛星云 出品。
膨胀与腐蚀概念问题借鉴于下面的百度云链接:
链接: http://pan.baidu.com/s/1i37nXSL 密码: 3xnd
腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。膨胀就是图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。
在进行讲解膨胀腐蚀之前先看下原图和进行膨胀腐蚀之后的效果图。
膨胀的原图与效果图:
腐蚀的原图与效果图:
一,膨胀
此图膨胀的目的是去除白色短袖上面的污渍。
膨胀的代码如下:
- //-----------------------------------【头文件包含部分】---------------------------------------
- // 描述:包含程序所依赖的头文件
- //----------------------------------------------------------------------------------------------
- #include <opencv2/core/core.hpp>
- #include<opencv2/highgui/highgui.hpp>
- #include<opencv2/imgproc/imgproc.hpp>
- #include <iostream>
- //-----------------------------------【命名空间声明部分】---------------------------------------
- // 描述:包含程序所使用的命名空间
- //-----------------------------------------------------------------------------------------------
- using namespace std;
- using namespace cv;
- //-----------------------------------【main( )函数】--------------------------------------------
- // 描述:控制台应用程序的入口函数,我们的程序从这里开始
- //-----------------------------------------------------------------------------------------------
- int main( )
- {
- //载入原图
- Mat image = imread("1.jpg");
- //创建窗口
- namedWindow("【原图】膨胀操作");
- namedWindow("【效果图】膨胀操作");
- //显示原图
- imshow("【原图】膨胀操作", image);
- //获取自定义核
- Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
- Mat out;
- //进行膨胀操作
- dilate(image, out, element, Point(-1, -1),
iterations = 6,
borderType = BORDER_CONSTANT); //iterations=6,6是表示膨胀的次数,表示操作进行了6次膨胀 - //显示效果图
- imshow("【效果图】膨胀操作", out);
- waitKey(0);
- return 0;
- }
(二)腐蚀
- //-----------------------------------【头文件包含部分】---------------------------------------
- // 描述:包含程序所依赖的头文件
- //----------------------------------------------------------------------------------------------
- #include <opencv2/core/core.hpp>
- #include<opencv2/highgui/highgui.hpp>
- #include<opencv2/imgproc/imgproc.hpp>
- #include <iostream>
- //-----------------------------------【命名空间声明部分】---------------------------------------
- // 描述:包含程序所使用的命名空间
- //-----------------------------------------------------------------------------------------------
- using namespace std;
- using namespace cv;
- //-----------------------------------【main( )函数】--------------------------------------------
- // 描述:控制台应用程序的入口函数,我们的程序从这里开始
- //-----------------------------------------------------------------------------------------------
- int main( )
- {
- //载入原图
- Matimage = imread("1.jpg");
- //创建窗口
- namedWindow("【原图】腐蚀操作");
- namedWindow("【效果图】腐蚀操作");
- //显示原图
- imshow("【原图】腐蚀操作", image);
- //获取自定义核
- Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
- Mat out;
- //进行腐蚀操作
- erode(image, out, element, Point(-1, -1),
iterations = 6,
borderType = BORDER_CONSTANT); //此操作共进行了6次腐蚀 - //显示效果图
- imshow("【效果图】腐蚀操作", out);
- waitKey(0);
- return 0;
- }
腐蚀的效果图见于上图。
阅读全文
0 0
- 形态学处理(一)膨胀(dilate)与腐蚀(erode)
- OpenCV图像处理形态学操作腐蚀Erode与膨胀Dilate
- opencv 膨胀(dilate)与腐蚀(erode)---基本 数学形态学
- 笔记:形态学操作-----腐蚀Erode && 膨胀 Dilate
- c++ 实现 膨胀(dilate)腐蚀(erode)
- 形态学滤波:腐蚀与膨胀(一)
- 第5章/图像形态学-膨胀(dilate)和腐蚀(erode)
- 图像处理(六)灰度形态学腐蚀与膨胀
- 图像腐蚀erode与膨胀dilate综合示例
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- OpenCV之十 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 转载:【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- 【OpenCV入门教程之十】 形态学图像处理(一):膨胀与腐蚀
- Python分支语句判断人的合法结婚年龄
- JDBC
- 爬虫-07-反爬虫
- 平方根(sqrt.pas/c/cpp)(数论)
- java中javaBean规范、常见的设计模式和设计原则
- 形态学处理(一)膨胀(dilate)与腐蚀(erode)
- Taxes CodeForces
- python程序控制语句总结
- 1020. 月饼 (25)--PAT乙级
- SQLServer学习笔记
- 自定义view实现分享,好友位置,评论,红包,加载提示,支付成功提示,帐号冻结提示
- Redis集群搭建
- 分析JZ2440的Uboot的配置和编译过程
- 套接口类 个人笔记