用matlab批量处理求光斑重心
%积分范围
a=[10,120];%行
b=[20,55];%列
pixel_x=20:55;
pixel_y=10:120;
%计算质心
files = dir(fullfile(‘F:\20201208’,’.tif’));%处理的图片格式为tif
lengthFiles = length(files);
for i=1:lengthFiles
Imag=imread(strcat(‘F:\20201208’,files(i).name),‘PixelRegion’,{a,b});%行,列
%选择积分区域
Size_x=mean(Imag)’;%纵向积分并转置,横向光斑
Size_y=mean(Imag,2);%横向积分,纵向光斑
all_x(i,:)=Size_x(😃;%将所有横向光斑写入
all_y(i,:)=Size_y(😃;%将所有纵向光斑写入
Yc(i,:)=0.65(sum(pixel_ySize_y))/(sum(Size_y));%纵向坐标
Xc(i,:)=0.65(sum(pixel_x*Size_x))/(sum(Size_x));%横向坐标
end
number=(1:i)’;
All_x=all_x’;
All_y=all_y’;
all_XcYc=[number,Xc,Yc];
save size-x.txt -ascii All_x;
save size-y.txt -ascii All_y;
save all-XcYc.txt -ascii all_XcYc;