資源簡介
基于聯通區域的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
- 上一篇:PRI抖動雷達的信號仿真
- 下一篇:單變量與雙變量遺傳算法的實現
評論
共有 條評論