• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-05
  • 语言: Matlab
  • 标签: 图像分割  

资源简介

基于联通区域的matlab图像分割,对提取树叶上的害虫等的轮廓或纹理特征有独到的效果

资源截图

代码片段和文件信息

function main

%读取图像
img1=imread(‘D:\学习材料\图像处理算法的研究\算法探究\样本1220\G1分量.bmp‘);
%将图像边界的白色区域去除掉,避免其影响
delta=10;
img1=img1(delta:end-deltadelta:end-delta:);
%彩色图像灰度化
img=rgb2gray(img1);
%调用函数计算图像的分割阈值
level=computeThresholdOfGrayimage(img);
%二值化图像
bw=img>level*255;
%形态学闭运算,用于填充不完整的虫子区域
se=strel(‘disk‘2);
bw=imclose(bwse);
%形态学膨胀运算,用于连接断裂的虫子区域
se=strel(‘disk‘1);
bw=imdilate(bwse);
%孔洞填充去处,填充虫子区域内部的空洞
bw=bwfill(bw‘holes‘);

%连通分量分析:经过上面的计算之后,bw中存在虫子区域和其它一些小的噪声区域
%             标志好每个区域的连通分量,找出最大的连通分量,即是虫子区域
[labelnum]=bwlabel(bw8);
areas=zeros(num1);
for i=1:num
    areas(i)=bwarea(label==i);
end
[idx]=sort(areas‘descend‘);%已做修改  原句[~idx]=sort(areas‘descend‘)
bw=label==idx(1);%连通分量的最大值

%利用虫子的连通分量去除彩色图像中的背景部分,只剩下彩色的虫子区域
imgR=img1(::1);
imgR(~bw)=0;
i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2102  2014-07-01 12:31  main.m

评论

共有 条评论