• 图像分割(四)---(图像显示、灰度直方图和三维灰度图综合分析选取最佳分割方法)


    一、引言

           对彩色图像进行分割的一种常用方法,是先把彩色图像转灰度图像,然后再选择合适的阈值进行二值分割。但有时彩色图像转灰度图像后不具有典型的双峰特性,二值分割效果不好。本文章提出一种确定彩色图像分割方法的新思路。首先读入一幅彩色图像fruit.jpg,然后对其各通道的灰度直方图进行分析,并使用imtool进行分析,利用surf绘制R-B的三维灰度图(水果的灰度值明显在背景上方,为阈值分割提供便利),通过imhist发现R-B后的图像具有较好的双峰特性。使用最大类间方差法和人工选择法处理结果进行了比较,发现人工选择法效果较好。

    二、程序代码

    % 读入水果彩色图,观看其各通道灰度直方图和空间灰度分布,并对其进行分析确定最佳背景分割方法,为图像识别奠定基础

    clear all;close all;clc

    I=imread('.\fruit.jpg');   %读入彩色图像

    Igray=rgb2gray(I);          %彩色图像转灰度图像

    Ir=I(:,:,1);Ig=I(:,:,2);Ib=I(:,:,3);

    subplot(3,3,1),imshow(I),title('彩色图像');

    subplot(3,3,2),imshow(Igray),title('彩色图像转灰度图像');

    subplot(3,3,3),imshow(Ir),title('显示红色分量图像');

    subplot(3,3,4),imshow(Ig),title('显示绿色分量图像');

    subplot(3,3,5),imshow(Ib),title('显示蓝色分量图像');

    subplot(3,3,6),imhist(Igray),title('显示灰度图像灰度直方图');

    subplot(3,3,7),imhist(Ir),title('显示红色分量灰度直方图');

    subplot(3,3,8),imhist(Ig),title('显示绿色分量灰度直方图');

    subplot(3,3,9),imhist(Ib),title('显示蓝色分量灰度直方图');

    imtool(I)   %图像工具箱显示图像并进行分析

    I_rb=Ir-Ib;

    I_rb=imadjust(I_rb);%对比度增强

    figure,imshow(I_rb);

    figure,imhist(I_rb);%显示R-B直方图

    imtool(I_rb);

    figure,surf(double(Igray(1:4:end,1:4:end))),zlim([0 255]),title('Igray的三维表面灰度图');

    colorbar

    figure,surf(double(I_rb(1:4:end,1:4:end))),zlim([0 255]),title('R-B的三维表面灰度图');

    colorbar

    %通过上述图像分析,发现R-B图像具有很好的分割特性,因此采取以下图像分割方法

    I_rb_BW=im2bw(I_rb,graythresh(I_rb));%采用最大类间方差法进行二值化

    figure,imshow(I_rb_BW);

    I_rb_BWfill=imfill(I_rb_BW,'holes');

    figure,imshow(I_rb_BWfill);

    Obj=uint8(I_rb_BWfill).*I;

    %Obj=cat(3,uint8(I_rb_BWfill).*Ir,uint8(I_rb_BWfill).*Ig,uint8(I_rb_BWfill).*Ib);%MATLAB 2015a

    figure,imshow(Obj),title('分割的水果彩色图像1');%采用最大类间方差法进行图像分割

    I_rb_BW2=im2bw(I_rb,40/255);%采用指定阈值法进行二值化

    figure,imshow(I_rb_BW2);

    I_rb_BWfill2=imfill(I_rb_BW2,'holes');

    figure,imshow(I_rb_BWfill2);

    Obj2=uint8(I_rb_BWfill2).*I;

    figure,imshow(Obj2),title('分割的水果彩色图像2');%通过图像分析,采用人工选择法进行图像分割

     三、程序部分运行结果

    四、总结

        本次彩色图像分割,充分利用MATLAB中的surf、imtool和imhist各自特点对彩色图像进行分析,确定了最优分割方案,获得了较好分割效果。

    五、原始水果图像

     如果觉得本文章对大家今后的编程有帮助,请点赞和收藏。如有改进意见可以与我联系,谢谢!

  • 相关阅读:
    【专栏】基础篇03| Redis 花样的数据结构
    局域网基本概念和体系结构
    实习生两分钟解决程序bug,老程序员笑笑不说话,还是太年轻?
    3.Redis的5种数据结构
    ASEMI整流桥GBPC3510在直流有刷电机中的妙用
    java计算机毕业设计H5醉美南湾湖网站设计MyBatis+系统+LW文档+源码+调试部署
    集群聊天服务器:Model数据层的框架设计和数据库代码的封装
    LuatOS-SOC接口文档(air780E)-- gmssl - 国密算法
    【小程序源码】花体字转换器支持多种花样字体不同风格
    01-go基础-07-map(声明map、初始化map、map赋值、遍历map、判断key是否在map中、删除map成员)
  • 原文地址:https://blog.csdn.net/xrgs_shz/article/details/139887307