• Matlab图像处理学习笔记(一):二值化、开操作、连通区域提取、重心、ROI


    本博客主要记录我学习运用matlab进行一些基本的图像处理的一些笔记,如果有不当的地方,欢迎批评指正,一起学习,一起进步。

    本篇是第一篇,只涉及到一些基本的操作,涉及到的知识点如下:

    1、二值化

    2、开操作

    3、连通区域提取

    4、连通区域的重心提取

    5、BoundingBox提取

    各操作背后的理论基础,大都可以在冈萨雷斯的数字图像处理中找到,而且matlab的帮助中会给出实现算法的论文出处。感兴趣的朋友可以深入研究。

    图像处理,第一步一般是进行二值化,而二值化最常用的方法就是ostu方法。matlab可以用level=graythresh(src)直接获取二值化的阈值。之后用im2bw二值化图像。

    处理图像时经常运用到一些形态学图像处理方法,而幸好matlab就为我们提供了强有力的形态学处理工具箱。本学习笔记运用到了开操作对图像进行处理,可以消除一些噪点。

    获取连通区域之后,我们可能会想知道该区域的一些属性(如重心、边界框等),matlab的regionprops为我们提供了大量的属性,只要一个命令就可搞定,regionprops。

    本例程的code如下:

    %function:
    %     获取感兴趣区域,并进行提取、标记
    %     源图像位于E:ProgramFilesMATLABR2013b	oolboximagesimdemos
    %     具体路径因个人电脑而异
    %date:2015-1-7
    %author:chenyanan
    
    %清空变量,读取图像,并显示其属性
    clear;close all
    src = imread('images/rice.png');
    whos,
    
    %显示原始图像
    figure('name','myapp'),
    subplot(2,2,1),imshow(src),title('src')
    
    %用ostu方法获取二值化阈值,进行二值化并进行显示
    level=graythresh(src);
    bw=im2bw(src,level);
    subplot(2,2,2),imshow(bw),title('bw')
    
    %运用开操作消去噪点
    se = strel('disk',2);
    openbw=imopen(bw,se);
    subplot(2,2,3),imshow(openbw),title('open')
    
    %获取连通区域,并进行显示
    L = bwlabel(openbw,4);
    RGB = label2rgb(L);
    subplot(2,2,4),imshow(RGB),title('rgb')
    
    %获取区域的'basic'属性, 'Area', 'Centroid', and 'BoundingBox' 
    stats = regionprops(openbw, 'basic');
    centroids = cat(1, stats.Centroid);
    figure('name','regionprops'),
    %绘制开操作之后的二值化图像
    imshow(openbw),title('centroids')  
    hold on
    %绘制重心
    plot(centroids(:,1), centroids(:,2), 'b*'),
    %绘制感兴趣区域ROI
    for i=1:size(stats)
         rectangle('Position',[stats(i).BoundingBox],'LineWidth',2,'LineStyle','--','EdgeColor','r'),
    end
    hold off

    运行效果的图片如下:







  • 相关阅读:
    ubuntu18安装net-snmp
    virtual box安装ubuntu系统 ping通 && xshell可以连接
    高中操场所见所思
    如何写好研究生开题报告
    在加州考驾照
    一个软件工程项目竞赛网站
    结对项目总结
    喜马拉雅随车听开通啦
    裘老师赠书
    推荐博客链接
  • 原文地址:https://www.cnblogs.com/chenyn2014/p/4220203.html
Copyright © 2020-2023  润新知