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

【尊重原创,转载请注明出处】http://blog.csdn.net/guyuealian/article/details/71440949
    Matlab中可以使用graythresh(Img)函数设置二值化的阈值,再用im2bw转化为二值图像。在Matlab中,可以使用bwlabel()和bwlabeln()函数来标记二值图像的连通区域。需要注意的是:所谓的连通区域标记是指对二值图像中白色像色而言,即值为1的像素进行标记,而黑色像素看作是背景颜色。当然,Matlab中还有个regionprops()函数可以用于统计图像区域的属性,如面积大小,重心位置。关于bwlabel()、bwlabeln()和regionprops()的用法,请查看相关博客吧
    本博客Matlab代码将实现的功能:将图像转为二值图像,分割出感兴趣的区域,并用“红色矩形线框”标记连通区域的面积,用“蓝色点”标记连通区域的重心位置,为了减少噪声的干扰,代码中将连通区域面积(像素个数)不足100的区域认为是噪声点,并将其删除(即置为背景黑色)。本人用PS制作了一个GIF动画图,以便大家观看效果图:

clc;clear all;close all
%% 清空变量,读取图像,并显示其属性
clear;close all
src = imread('rice.jpg');
%显示原始图像
figure,
subplot(2,2,1),imshow(src),title('原图')%用ostu方法获取二值化阈值,进行二值化并进行显示
level=graythresh(src);
bw=im2bw(src,level);
subplot(2,2,2),imshow(bw),title('二值图像')%运用开操作消去噪点
se = strel('disk',2);
openbw=imopen(bw,se);%对白色点而言
subplot(2,2,3),imshow(openbw),title('开运算后的效果图')%获取连通区域,并进行显示
% L = bwlabel(openbw,8);
[L,num] = bwlabel(openbw,8);
RGB = label2rgb(L);
subplot(2,2,4),imshow(RGB),title('用rgb颜色标记不同区域')%获取区域的'basic'属性, 'Area', 'Centroid', and 'BoundingBox'
% stats = regionprops(openbw, 'basic');stats = regionprops(openbw, 'BoundingBox' ,'Area','Centroid' ,'PixelList' ); %统计白色的连通区域
centroids = cat(1, stats.Centroid);%%
noiseArea=100;
figure,imshow(openbw),title('2')
hold on
for i=1:size(stats)imshow(openbw)rectangle('Position',[stats(i).BoundingBox],'LineWidth',2,'LineStyle','--','EdgeColor','r'),plot(centroids(i,1), centroids(i,2), 'b*');             %每个连通区域的重心位置area = stats(i).Area;                                   %连通区域的面积if area<noiseArea                                       %若当前连通区域面积小于噪声点的面积,则该区域设置为0pointList = stats(i).PixelList;                     %每个连通区域的像素位置rIndex=pointList(:,2);cIndex=pointList(:,1);pointList = stats(i).PixelList;                     %连通区域的像素坐标openbw(rIndex,cIndex)=0;                            %连通区域的面积不足100,置为背景颜色endpause(1);saveas(gcf,sprintf('img/%d',i),'jpg')                   %保存图片
end
hold off

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

  1. matlab形态学图像处理之strel函数

    strel--structuring element 运用各种形状和大小构造元素,基本语法为 SE = strel(shape, parameters) shape 是指定希望形状的字符串,param ...

  2. OpenCV删除面积小的区域 实现图像二值化分割 标记连通区域

    OpenCV删除面积小的区域 实现图像二值化分割 标记连通区域    [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/781 ...

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

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

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

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

  5. [数图] 实验八 形态学图像处理

    一.实验目的 1.利用 MATLAB 研究二值形态学图像处理常用算法: 2.掌握 MATLAB 形态学图像处理基本操作函数的使用方法: 3.了解形态学的基本应用. 二.实验内容 1.编程实现二值图像的 ...

  6. MATLAB【数字图像处理】 实验五:形态学图像处理

    目录 一.实验目的 二.实验环境 三.实验内容 题目 相关知识 核心代码 实验结果 四.实验小结 一.实验目的 1.了解形态学的基本理论和方法. 2.掌握对图像进行开.闭.膨胀.腐蚀的方法. 二.实验 ...

  7. 数字图像处理——形态学操作(二值图像篇)

    形态学操作 内容简介 1. 预备知识--结构元 2. 形态学基本操作 2.1 腐蚀和膨胀 2.2 开操作与闭操作 2.3 击中和击不中变换(hit and miss transform) 3. 基本的 ...

  8. Matlab数字图像处理学习记录【7】——形态学图像处理

    形态学图像处理 一.预备知识 1.1 集合论中的基本概念 1.2 二值图像.集合和逻辑运算符 二.膨胀与腐蚀 2.1 膨胀 2.2 结构元素的膨胀 2.3 strel函数 2.4 腐蚀 三. 腐蚀和膨 ...

  9. MATLAB 数字图像处理GUI二值图像实验

    电信19-2 翁大弟 摘要 图像信息是人类获取信息的重要来源及利用信息的重要手段,数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展:二是广泛的农牧业.环境.军事.工业等方面的应用需求 ...

最新文章

  1. 傅里叶(FFT)+小波变换+数据压缩
  2. SAP PP 成品工单批次号跟所消耗的半成品批次号一致
  3. 构造函数(包含this关键字的简单应用)
  4. centos7之破解root密码
  5. 【Python】30天进阶Python!这个Github项目你值得拥有!
  6. uaa 授权_使用UAA OAuth2授权服务器–客户端和资源
  7. 野生前端的数据结构基础练习(4)——字典
  8. 关于jQuery的细节
  9. WHERE+HAVING
  10. 王坚数博会演讲实录:“计算经济”是社会发展的新动力
  11. 人生的一切问题,归根结底就是这三点:无知!恐惧!延迟!
  12. Windows 2003 server下载
  13. pgadmin4 如何改成中文版
  14. 计算机网络第三章:数据链路层
  15. Windows 10 微软拼音输入法无法输入中文标点符号
  16. 港科夜闻|香港科技大学校长叶玉如教授,新加坡国立大学曾运雄博士:发现阿尔茨海默病新疗法...
  17. 第十二届蓝桥杯 2021年省赛真题 (Java 大学B组) 第一场
  18. 在SQL中limit 函数的使用
  19. Iptables—包过滤(网络层)防火墙
  20. 用python实现植物大战僵尸(游戏截图+动态演示+源码分享)

热门文章

  1. bash的RANDOM变量生成的是真正的随机数吗
  2. 解密QQ非会员漫游聊天记录
  3. socket聊天室笔记
  4. 网站正在建设中提示页面设计欣赏
  5. Linux命令学习(三):文件操作命令(1)
  6. 不迈出第一步,不去尝试,你永远不知道能否成功
  7. Python包的相对导入时出现问题解决
  8. 常使用的webserver地址
  9. 常用打开新页面的方法
  10. 除非得到你的首肯,否则别人无法伤害你——Leo网上答疑(20)