膨胀

  构造结构元素


  代码示例

A = imread('broken_text.tif');
B = [0 1 0;1 1 1;0 1 0];
A2 = imdilate(A,B);                         % 膨胀处理
subplot(1,2,1);imshow(A);title('原图像');
subplot(1,2,2);imshow(A2);title('膨胀处理');

  运行结果


腐蚀

  代码示例

A = imread('wirebond_mask.tif');
se1 = strel('disk',5);                        % 圆盘腐蚀
A1 = imerode(A,se1);                          % 腐蚀5次
se2 = strel('disk',10);
A2 = imerode(A,se2);                          % 腐蚀10次
se3 = strel('disk',20);
A3 = imerode(A,se3);                          % 腐蚀20次
subplot(2,2,1);imshow(A);title('原图像');
subplot(2,2,2);imshow(A1);title('腐蚀5次');
subplot(2,2,3);imshow(A2);title('腐蚀10次');
subplot(2,2,4);imshow(A3);title('腐蚀20次');

  运行结果


开运算和闭运算



  代码示例

f1 = imread('shapes.tif');
se1 = strel('square',20);
fo1 = imopen(f1,se1);
fc1 = imclose(f1,se1);
foc1 = imclose(fo1,se1);
subplot(2,4,1);imshow(f1);title('简单图形');
subplot(2,4,2);imshow(fo1);title('开运算');      % 去除突出部分及齿状边缘
subplot(2,4,3);imshow(fc1);title('闭运算');
subplot(2,4,4);imshow(foc1);title('先开再闭');  % 有效平滑去噪f2 = imread('fingerprint.tif');
se2 = strel('square',3);
fo2 = imopen(f2,se2);
fc2 = imclose(f2,se2);
foc2 = imclose(fo2,se2);
subplot(2,4,5);imshow(f2);title('指纹图形');
subplot(2,4,6);imshow(fo2);title('开运算');      % 消除了杂散点,但引入了缺口
subplot(2,4,7);imshow(fc2);title('闭运算');
subplot(2,4,8);imshow(foc2);title('先开再闭');   % 连接缺口,填充

  运行结果


击中或击不中变换

  代码示例

f = imread('small_squares.tif');
B1 = strel([0 0 0;0 1 1;0 1 0]);                 % 击中
B2 = strel([1 1 1;1 0 0;1 0 0]);                 % 击不中
g = bwhitmiss(f,B1,B2);                          % 击中或击不中变换
subplot(1,2,1);imshow(f);title('原图像');
subplot(1,2,2);imshow(g);title('击中或击不中变换');

  运行结果

  查找表(击中或击不中变换)

  代码示例

f = imread('bone-skel.tif');
g = endpoints(f);
subplot(1,2,1);imshow(f);title('原图像');
subplot(1,2,2);imshow(g);title('查找表输出');%-------------------------------------------------------------------%
function g = endpoints(f)
% 端点检测函数persistent lutif isempty(lut)lut = makelut(@endpoint_fcn, 3);
endg = applylut(f,lut);%-------------------------------------------------------------------%
function is_end_point = endpoint_fcn(nhood)
%   Determines if a pixel is an end point.
%   IS_END_POINT = ENDPOINT_FCN(NHOOD) accepts a 3-by-3 binary
%   neighborhood, NHOOD, and returns a 1 if the center element is an
%   end point; otherwise it returns a 0. is_end_point = nhood(2,2) & (sum(nhood(:)) == 2);

  运行结果


函数bwmorph


重构


  开运算重构

  代码示例

f = imread('book_text.tif');
fe = imerode(f,ones(51,1));                         % 腐蚀
fo = imopen(f,ones(51,1));                          % 开运算
fobr = imreconstruct(fe,f);                         % fe标记,f掩模
subplot(2,2,1);imshow(f);title('原图像');
subplot(2,2,2);imshow(fe);title('腐蚀');
subplot(2,2,3);imshow(fo);title('开运算');
subplot(2,2,4);imshow(fobr);title('开运算重构');

  运行结果

  使用重构删除复杂图像的背景

  代码示例

f = imread('calculator.tif');                   % 目的是突显出键盘上的文字
f_obr = imreconstruct(imerode(f,ones(1,71)),f); % 开运算重构,消除每个键上方的水平反射光
f_o = imopen(f,ones(1,71));                     % 标准开运算(用于比较)
f_thr = imsubtract(f,f_obr);                    % 顶帽重构,从原图像中减去开运算重构的结果
f_th = imsubtract(f,f_o);                       % 标准顶帽运算(用于比较)
g_obr = imreconstruct(imerode(f_thr,ones(1,11)),f_thr); % 消除键右侧的垂直反射光,信息误消
g_obrd = imdilate(g_obr,ones(1,21));
f2 = imreconstruct(min(g_obrd,f_thr),f_thr);    % 重构subplot(4,2,1);imshow(f);title('原图像');
subplot(4,2,3);imshow(f_obr);title('消除键上方的水平反射光');
subplot(4,2,4);imshow(f_o);title('标准开运算');
subplot(4,2,5);imshow(f_thr);title('顶帽重构');
subplot(4,2,6);imshow(f_th);title('标准顶帽运算');
subplot(4,2,7);imshow(g_obrd);title('消除键右侧的垂直反射光');
subplot(4,2,8);imshow(f2);title('最后的重构结果');

  运行结果


【图像处理】MATLAB:形态学相关推荐

  1. Matlab形态学图像处理:二值图像分割 标记连通区域和重心位置 删除连通区域

    Matlab形态学图像处理:二值图像分割 标记连通区域和重心位置 删除连通区域 [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/detail ...

  2. matlab 形态学 颗粒_数字图像处理Matlab-形态学图像处理(附代码)

    这是一篇基于matlab,数字图像处理的形态学研究与实现的文章,希望能对你产生帮助. 我还写了一套<数字图像处理>(冈萨雷斯版本)的学习笔记,欢迎关注我的csdn同名主页,一起学习成长~ ...

  3. 金相图像处理 matlab,基于MATLAB软件的图像处理技术 毕业论文.doc

    基于MATLAB软件: 在图像工程中,图像处理.图像分析.图像理解是其研究的三个重要层次.图像处理是图像目前发展的主体技术,它强调的是图形之间的转换.图像的灰度处理是图像处理的最基础理论之一,本文基于 ...

  4. 图像处理 Matlab GUI系统(全)

    目录 导读 数字图像处理系统 GUI实例设计 总结 [若觉文章质量良好且有用,请别忘了点赞收藏加关注,这将是我继续分享的动力,万分感谢!] 导读 以数字图像处理系统设计为例,介绍GUI系统的设计流程, ...

  5. 形态学滤波 matlab代码,matlab形态学滤波

    对经拉普拉斯算子滤波后的 图像用零灰度值进行二值化会产生闭合的.连通 的轮廓...形态学图像处理 术语 ? 1. 集合论术语(Definition) 形态学处理语言中,二值...... 对此 ,采用平 ...

  6. 【染色体识别】基于matlab形态学染色体计数【含Matlab源码 1066期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[染色体识别]基于matlab形态学染色体计数[含Matlab源码 1066期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  7. 【资源分享】数字图像处理MATLAB版冈萨雷斯+中文高清版+随书源码链接

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 1.数字图像处理MATLAB版冈萨雷斯+中文高清版 2.数字图像处理MATLAB版冈萨雷斯随书源码 1.数字图像处 ...

  8. 图像处理之形态学梯度计算

    图像处理之形态学梯度计算 源代码基于OpenCV实现,原因是太懒了,不想再用Java从头写了! 一:概念介绍 形态学操作膨胀与腐蚀图像形态学中最基本的两个形态学操作.常常被组合起来一起使用实现一些复杂 ...

  9. 使用Julia进行图像处理--使用形态学运算进行图像调整

    使用Julia进行图像处理--使用形态学运算进行图像调整 前言 图像二值化 基本运算 图像侵蚀 使用侵蚀分离物体 准备用于文本识别的图像 图像膨胀 合并几乎连接的对象 突出显示细节 派生操作 图像开运 ...

  10. 【数字图像处理matlab】(HSI变换融合算法)

    [数字图像处理matlab](HSI变换融合算法) 输入一张高分辨率的全色影像HR,一张低分辨率的多光谱影像MS,采用HSI变换融合算法实现影像融合,其中RGB与HSI影像的相互转换调用自定义函数RG ...

最新文章

  1. HDOJ 1060 Leftmost Digit
  2. 实用技能 | OpenCV算法程序导出 DLL与调用演示
  3. 五一好礼70份免费送:示波器、开发板、焊台等!
  4. 数据追加用什么函数_RL用算法发现算法:DeepMind 数据驱动「价值函数」自我更新,14款Atari游戏完虐人类!...
  5. 误差反向传播法(二)【神经网络以层的方式实现】
  6. C#如何关闭指定进程
  7. 【构造】Gym - 101411F - Figure ans Spots
  8. 跑通LSD-SLAM
  9. 【老兵不朽】时隔1年,jQuery 发布新版 3.4.0
  10. 宽带波形测试软件,适用于5G时代的波形测试分析系统是怎样的? - 全文
  11. mac安装多个JDK版本
  12. mysql memory leak,项目在Tomcat中启动出现内存泄露memory leak
  13. java软件国际化解决方案
  14. 压力测试软件怎么用,鲁大师温度压力测试如何使用
  15. linux安装Node.js 详细安装教程
  16. 视频教程-微信小程序系统教程[2/3阶段]_核心技术-微信开发
  17. oracle 中的rollback,oracle中rollback的使用
  18. Java实现 LeetCode 374 猜数字大小 II
  19. 士兵职业基本适应性测试软件,征兵体检中最后一项“士兵职业基本适应性检测”是什么意思?...
  20. 时间与运动--位姿轨迹

热门文章

  1. 程序员编程表达爱情php,2019浪漫情人节:8款程序员必备表白源码
  2. PyTorch——深度神经网络的写作笔记
  3. 深度学习——Nesterov方法的学习笔记
  4. Singularity将本地SIF文件,转成sandbox
  5. ubuntu 中怎么添加和删除用户
  6. 剑指offer——21.调整数组顺序使奇数位于偶数前面
  7. 14 事务控制和锁定语句
  8. [你必须知道的.NET] 调试技巧 - DebuggerDisplayAttribute
  9. 【bzoj1758】[Wc2010]重建计划
  10. Extjs6(六)——增删查改之查询