一个批量图片处理程序,每次循环计算出的结果要保存在excel中,我这个老是被覆盖,只保存最后一个循环的结果
srcDir=uigetdir('C:\Users\Administrator\Desktop\555'); %获得选择的文件夹
cd(srcDir);
allnames=struct2cell(dir('.jpg')); %只处理8位的bmp文件
[k,len]=size(allnames); %获得bmp文件的个数
for ii=1:len%逐次取出文件
name=allnames{1,ii};
I=imread(name); %读取文件 %然后在此处添加你的图像处理程序即可
i=rgb2gray(I);%将图片转换成灰度图像
figure;
[m,n]=size(i)%求出图片的长宽
threshold=graythresh(i)%设立二值图像的阈值
bw=im2bw(i,threshold)%转换成二值图像
bw2=bwperim(bw,8)%按八连通求出图片的边缘
bw2=bwareaopen(bw2,10)%去除小于10个像素的单元 等于是排除了杂质
subplot(232)
se=strel('disk',5)%设定半径为5的结构元素
bw3=imdilate(bw2,se)%先进行膨胀处理
subplot(233)
bw4=imfill(bw3,'hole')%再进行填充处理
subplot(234)
bw=imerode(bw4,se)%最后进行腐蚀处理,得到了气泡准确的二值图像
subplot(235)
b=imcrop(bw,[0,200,n,4]);
a=sum(b(:))./(n5) %通过计算二值图像像素值和与图像像素个数总和得到比例
date=a;
xlswrite('myData.xlsx',date,'sheet1');
end
最后想要在excel中显示的结果是这样的
T date
t1 0.173
t2 0.564
t3 0.369