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

标签: 分割图像 标记连通区域 重心位置 删除连通区域 Matlab
4940人阅读 评论(1) 收藏 举报
分类:

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                                       %若当前连通区域面积小于噪声点的面积,则该区域设置为0
        pointList = stats(i).PixelList;                     %每个连通区域的像素位置
        rIndex=pointList(:,2);cIndex=pointList(:,1);
        pointList = stats(i).PixelList;                     %连通区域的像素坐标
        openbw(rIndex,cIndex)=0;                            %连通区域的面积不足100,置为背景颜色
    end
    pause(1);
    saveas(gcf,sprintf('img/%d',i),'jpg')                   %保存图片
end
hold off





查看评论

Matlab中regionprops的使用示例

有这样一幅图,我们想获取其中的联通区域
  • shaoxiaohu1
  • shaoxiaohu1
  • 2014年10月19日 22:03
  • 13868

MATLAB:regionprops函数求取最大连通域面积

参见链接:http://www.ilovematlab.cn/thread-262603-1-1.html %寻找不包括孔连通域的边缘,并且把每个连通域的边界描出来 [B,L] = bwb...
  • qq_27923041
  • qq_27923041
  • 2017年07月06日 11:03
  • 1495

matlab找到图像的最大连通区域

必须内部是填满的,封闭的一个区域。 方法一: im4=imfill(im3,'holes');  [L,num]=bwlabel(im4,4); x=zeros(1,num); fo...
  • u013066730
  • u013066730
  • 2017年02月22日 23:26
  • 1221

在matlab图像处理中太有用了,regionprops用来度量图像区域属性的函数。

在matlab图像处理中太有用了,regionprops用来度量图像区域属性的函数。 函数:regionprops。顾名思义:它的用途是get the properties of region,...
  • huilingwu
  • huilingwu
  • 2016年05月14日 17:21
  • 3120

C++ 二值图像连通区域标记

这篇文章最初发表在http://blog.csdn.net/j56754gefge/article/details/38777267,均是我原创,他人转载请注明出处! Labeling co...
  • YU_Xianguo
  • YU_Xianguo
  • 2015年11月09日 19:29
  • 4006

matlab练习程序(二值图像连通区域标记法,两步法)

我几乎完全就是照着WIKI百科上的算法实现的,不过是用Matlab而已。使用了两步法进行标记,一步法我还没怎么看。两步法中第二步是比较麻烦的,其中用到了不相交集合的一些理论,尤其是不相交集合森林,我这...
  • greenapple_shan
  • greenapple_shan
  • 2015年03月11日 21:24
  • 2209

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

Matlab形态学图像处理:二值图像分割 标记连通区域和重心位置 删除连通区域    Matlab中可以使用graythresh(Img)函数设置二值化的阈值,再用im2bw转化为二值图像。在...
  • guyuealian
  • guyuealian
  • 2017年05月19日 19:46
  • 4940

Matlab图像处理函数:regionprops

Matlab图像处理函数:regionprops 这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数:regionprops。顾名思义:它的用途是get the properties...
  • u013035197
  • u013035197
  • 2016年12月08日 17:47
  • 962

Matlab图像处理(一):二值化、开操作、连通区域提取、重心,ROI(region of interest)

本博客主要记录我利用Matlab学习图像处理的一些学习笔记,欢迎交流,批评指正。 本篇是第一篇,主要讲解图像处理的一些基础知识,列出如下: 1.二值化 2.开操作 3.连通区域提取 4.连通区域重心提...
  • qq_26694189
  • qq_26694189
  • 2016年09月19日 09:30
  • 6118

matlab ——二值图像的连通区域图像处理与图像分析

regionprops统计被标记的区域的面积分布,显示区域总数。 配合[L,num]=bwlabel(bw,8);   %另一篇博文里有函数regionprops语法规则为: STATS = re...
  • chaihuimin
  • chaihuimin
  • 2017年08月08日 14:34
  • 1255
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 67万+
    积分: 6825
    排名: 4299
    博客专栏
    最新评论