• 大小: 8KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

Matlab代码,该资源是图像处理实验中对二值图像进行面积测量,先对各个局部区域进行标记,然后依次计算各目标的面积。注:该程序以图像中的像素个数代表图像面积。

资源截图

代码片段和文件信息

clear all;
I1 = imread(‘2.jpg‘);
% I1 = imread(‘coins.png‘);
[rcd] = size(I1);

%若图像不是灰度图像,则转化为灰度图像
if d>2
    I1 = rgb2gray(I1);
end
%图像二值化操作,此处用的是实验三中的二值化处理函数
%I3 = binaryzation(I1);
I3 = imbinarize(I1);
%根据所选的图像,将背景和目标像素值兑换(也即1代表目标,0代表背景)
for i=1:r
    for j=1:c
        if I3(ij)==1
            I3(ij)=0;
        else
            I3(ij)=1;
        end
    end
end
            
%%%获取矩阵L,其中L大小与原始二值图像大小相同。0代表背景,1,2,3.。。分别代表
%连通数目,num表示目标数目,也即连通数
[Lnum] = bwlabel(I3 8);
ar = zeros(1num); %存储目标面积的数组

%遍历L矩阵,计算每个目标的面积。以像素点的数目代表目标面积
for i=1:r
    for j = 1:c
        if(L(ij)>0)
            ar(L(ij)) = ar(L(ij))+1;
        end
    end
end
disp(‘AREA:‘)
ar
% for i=1:num
%     disp(ar(i))
% end

%显示图像
figure;
subplot(121)imshow(I1)title(‘灰度图像‘);
subplot(122)imshow(I3)title(‘二值图像‘);


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12414  2018-05-11 12:23  area\2.jpg

     文件       1026  2018-05-11 17:20  area\area.m

     文件       1618  2018-05-11 16:46  area\binaryzation.m

     目录          0  2018-05-11 21:32  area

----------- ---------  ---------- -----  ----

                15058                    4


评论

共有 条评论