基于MATLAB的图像批量二值化处理并求取面积的方法Word格式.docx
- 文档编号:729726
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:2
- 大小:14.90KB
基于MATLAB的图像批量二值化处理并求取面积的方法Word格式.docx
《基于MATLAB的图像批量二值化处理并求取面积的方法Word格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的图像批量二值化处理并求取面积的方法Word格式.docx(2页珍藏版)》请在冰点文库上搜索。
clc;
file_path='
C:
\Users\LPZ\Desktop\test1\'
;
%图像文件夹路径,自行定义
img_path_list=dir(strcat(file_path,'
*.jpg'
));
%获取该文件夹中所有jpg格式的图像
img_num=length(img_path_list);
%获取图像总数量
area=cell(img_num,3);
%定义一个“图片数”行,3列的元胞数组,用于存放“序号”、“图片名称”、“面积占比”
fork=1:
img_num%逐一读取图像
image_name=img_path_list(k).name;
%图像名
x=imread(strcat(file_path,image_name));
[a,b,c]=size(x);
if~isgray(x)
x=rgb2gray(x);
%转换为灰度图像
end
level=graythresh(x);
%使用最大类间方差法确定最佳阈值
xbw=im2bw(x,level);
%再转换为二值图像
xbw=medfilt2(xbw);
%中值滤波
bw=xbw;
%滤波后二值图像
black=0;
%求面积的变量
fori=1:
a
forj=1:
b
if(bw(i,j)==0)
black=black+1;
end
end
imwrite(bw,['
\Users\LPZ\Desktop\test2\'
image_name]);
%保存图片,~bw为矩阵取反,即反向
P=black/(a*b);
%黑色部分占面积百分比
area{k,1}=k;
%数组第一列
area{k,2}=image_name;
%数组第二列
area{k,3}=P;
%数组第三列
end
a1={'
序号'
};
%定义excel第一列表头
b1={'
图片名称'
%定义excel第二列表头
c1={'
面积占比'
%定义excel第三列表头
xlswrite('
\Users\LPZ\Desktop\test2\test.xls'
a1,'
Sheet1'
'
A1'
);
b1,'
B1'
c1,'
C1'
area,'
A2'
%定义数字和字符在excel中的显示位置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 图像 批量 二值化 处理 求取 面积 方法