论坛元老
- 积分
- 3449
- 金钱
- 3449
- 注册时间
- 2015-10-5
- 在线时间
- 492 小时
|
1金钱
本帖最后由 飞过漠北的蓝天 于 2021-6-4 16:01 编辑
代码如下//-------代码开始----------------------------------------
clear;
close all
load('I_temp.mat');%载入光斑阵列 图像像素为288×288
figure;
imwrite(I_temp,'test_image288x288.bmp');
figure('Name', '66666'), imshow(I_temp)
% image(I_temp);%显示光斑阵列
% imagesc(I_temp);%显示光斑阵列
N1=12;%子光斑行数
N2=12;%子光斑列数
nsub=24;%单个子光斑所占像素 12*24=288
aryCentroidX=zeros(N1,N2);%光斑阵列X方向质心 //生成12*12的矩阵
aryCentroidY=zeros(N1,N2);%光斑阵列Y方向质心 //生成12*12的矩阵
%产生24个1~24的数据
%然后生成一个24*24的矩阵?
[c_x,c_y]=meshgrid( linspace(1, nsub, nsub) );%计算质心的中间常量
%surf(c_x,c_y)
for r = 1 : N1 %r代表行,代表列,索引每个子光斑,并计算质心存入aryCentroidX和aryCentroidY矩阵中
for c= 1 : N2
%计算子孔径远场光斑质心
I_sub=I_temp( nsub*(r-1)+1 : nsub*r , nsub*(c-1)+1 : nsub*c );%依次取出每个子光斑存入I_sub中
arySubCentroidX=sum( sum(I_sub.*c_x) ) / sum( sum(I_sub) );%计算子孔径远场光斑X方向质心
arySubCentroidY=sum( sum(I_sub.*c_y) ) / sum( sum(I_sub) );%计算子孔径远场光斑Y方向质心
aryCentroidX(r,c)=arySubCentroidX;%质心存入aryCentroidX和aryCentroidY矩阵中
aryCentroidY(r,c)=arySubCentroidY;%质心存入aryCentroidX和aryCentroidY矩阵中
end
end
//-------代码结束----------------------------------------
我加了个
figure('Name', '66666'), imshow(I_temp)
显示的这个图片
I_temp这个函数外部输入的数据,是固定的
请问有人能帮我看看吗,我看不太明白
|
|