使用不同的膨胀和腐蚀方法对图像进行处理
膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。通过膨胀,可以填充图像中的小孔及在图像边缘处的小凹陷部分。结构元素B对图像A进行膨胀,记作A B
腐蚀和膨胀是对偶操作。腐蚀是一种消除边界点,使边界向内部收缩的过程。利用腐蚀操作,可以消除小且无意义的物体。集合A被结构元素B腐蚀,记作AB
这里为了简化起见,被膨胀和腐蚀图像我们处理成二值图像:
matlab 中
膨胀函数 IM2 = imdilate(IM,SE) 对图像IM进行膨胀,采用的结构元素为SE,SE为函数strel()得到的结构元素
腐蚀函数 IM2 = imerode(IM,SE) 对图像IM进行腐蚀,其他同上
以膨胀为例代码如下:
close all;clear all;clc;
I = imread('ceshi1.jpg');
I = im2bw(I);
I = ~I;
se1 = strel('square',3); %方形膨胀元素
se2 = strel('line',5,90); %线性膨胀元素
%se3 = strel('ball',5,10); %球形膨胀元素 不能用于二值图像
se4 = strel('disk',11); %磁盘膨胀元素
se5 = strel('rectangle',[20 30]); %矩形膨胀元素
A = imdilate(I,se1);
B = imdilate(I,se2);
%C = imdilate(I,se3);
D = imdilate(I,se4);
E = imdilate(I,se5);
figure;
subplot(231);imshow(I);title('origin');
subplot(232);imshow(A);title('square');
subplot(233);imshow(B);title('line');
%subplot(234);imshow(C);title('ball');
subplot(235);imshow(D);title('disk');
subplot(236);imshow(E);title('rectangle');
strel结构元素说明:
Examples
--------
se1 = strel('square',11) % 11-by-11 square
se2 = strel('line',10,45) % line, length 10, angle 45 degrees
se3 = strel('disk',15) % disk, radius 15
se4 = strel('ball',15,5) % ball, radius 15, height 5
注意:这里球形结构元素不能用于膨胀操作,腐蚀操作类似,只需要修改imdilate函数为imerode函数
程序执行后输出如下:
使用不同的膨胀和腐蚀方法对图像进行处理相关推荐
- 图像处理一:形态学膨胀和腐蚀
一.形态学概述 形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构,而图像处理中的形态学主要是指数学形态学. 数学形态学(Mathematical morph ...
- 11. 形态学膨胀、腐蚀、开运算、闭运算
1. 膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程. 2. 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 3. 开运算: 先腐蚀后膨胀的过程称为开运算,作用: ...
- 膨胀 腐蚀 开运算 闭运算 matlab,11. 形态学膨胀、腐蚀、开运算、闭运算
1. 膨胀:对边界点进行扩充,填充空洞,使边界向外部扩张的过程. 2. 腐蚀:消除物体边界点,使边界向内部收缩的过程,把小于结构元素的物体去除掉. 3. 开运算: 先腐蚀后膨胀的过程称为开运算,作用: ...
- matlab腐蚀膨胀代码_(三十二)形态学----膨胀和腐蚀
时间为友,记录点滴. 我们在<初始滤波之均值滤波>中有聊过滤波的本质,以及介绍了其中一种线性滤波(均值滤波).对于常见的非线性滤波"中值滤波"也在<视频的读取和处 ...
- OpenCvSharp 形态学操作(膨胀、腐蚀)
什么是形态学操作 用数学形态学(也称图像代数)表示以形态为基础对图像进行分析的数学工具.基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的. 形态学图像处理的数 ...
- halcon区域腐蚀膨胀算子_OpenCV 图像处理之膨胀与腐蚀
1.什么是膨胀与腐蚀 膨胀与腐蚀属于形态学范围,具体的含义根据字面意思来理解即可.但是更形象的话就是"增肥"与"减肥". 它们的用途就是用来处理图形问题上.总结 ...
- 图像的膨胀与腐蚀、细化
转自:http://www.opencvchina.com/forum.php?mod=viewthread&tid=1124 原理:在特殊领域运算形式--结构元素(Sturcture Ele ...
- opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
基础版学习笔记: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 基础版形态学: opencv学 ...
- 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)
转载博客请注明详细地址,谢谢 本文讲了形态学基本操作膨胀腐蚀开闭操作的原理 本文讲解了用OpenCV-Python实现形态学操作 目录 一.形态学简述 1.简介 2.一些基本定义 3.结构元素 (1) ...
最新文章
- 自动调度GPU的卷积层
- 日志排查问题困难?分布式日志链路跟踪来帮你
- 浅谈算法和数据结构: 五 优先级队列与堆排序
- 5G 信令流程 — 5GC 的注册管理(RM,Registration Management)
- 请教visio-uml-活动图中动作状态和状态的区别谢谢 - 软件工程-管理 - 软件规划版...
- [Skill]-Markdown编辑器技巧
- 在Linux系统centos上安装RAR
- TensorFlow错误:TypeError: __init__() got an unexpected keyword argument 'serialized_options'
- python之os模块
- java -web html5学习1
- android学习之-Style样式的定义
- python 2.7导入arcpy_[ArcPy Tips-2]给ArcPy换个家,用外部Python环境调用ArcPy
- 新路由3 newifi d2 潘多拉PandoraBox固件,带鸡血驱动
- 电脑鼠标右键没有新建选项怎么办?
- 用计算机制作演示文稿教案博客,《创作演示文稿》教学设计
- Android setLayoutparams失效几个原因
- 树莓派4+普通机械硬盘+Netatalk搭建家用Nas+苹果TimeMachine
- 无需编程,DIY自己智能小车的Android蓝牙遥控软件(二)
- [转摘]太极拳精义述真
- 联想电脑重装win10系统步骤图解
热门文章
- 没有计算机基础可以学python-学习第一天day1(计算机基础,及python基础)
- python从入门到精通需要多久--零基础学Python,从入门到精通需要多长时间
- python一只青蛙一次可以_40.细说递归之二:Python求解斐波那契数列
- 前端必须掌握30个CSS3选择器
- 最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld
- python findall函数_Python正则表达式
- php魔法函数用途,PHP中的Magic Methods (魔术函数)
- java多线程按行读取文件_“java”中多线程按行读取txt且每个线程读的内容不能重复,这么求“demo”?...
- Requesting JavaScript AST from selection
- 2021 年百度之星·程序设计大赛 - 复赛 1002 Add or Multiply 1(第2类斯特林数)