作业帮 > 综合 > 作业

关于MATLAB的for循环优化问题.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 10:53:12
关于MATLAB的for循环优化问题.
求大神鞭策我.
pout=double(imread('pout.tif'));
tic
[row, colume]=size(pout);%图像的尺寸
num_pixel=row*colume;
Pmax=max(max(pout));
Pmin=min(min(pout));
figure(1);
hist(pout);
alpha=7.1;%定义alpha参数
beta=6.3;%定义beta参数
g_pout=(pout-Pmin)./(Pmax-Pmin);%归一化处理
gc_pout=zeros(row,colume);%预先定义一个矩阵
f=@(t)t.^(alpha-1).*(1-t).^(beta-1);%定义句柄函数,用的是归一化的非完全beta函数对图像进行自适应增强
g=quad(f,0,1);%分母
for i=1:row%行长
for j=1:colume;%列长
gc_pout(i,j)=double(quad(f,0,g_pout(i,j))./g);%对每个像素点进行优化,就是矩阵里的每个元素作为积分的上限
end
end
pout=gc_pout.*(Pmax-Pmin)+Pmin;%得到输出图像
figure(2);
hist(pout);
imwrite(uint8(pout),'result.tif');
toc
就是把两个for循环去掉

oc
这怎么又问?不是给你解答了么?不一样的么?
再问: 你改了积分函数,我用的是quad而你用的是int,我的alpha和beta可能是小数,保留一位的,你上次的方法不管用。所以我再来问问。
再答: 哦,那你慢慢的等等大神吧
再问: 可不可以用quadv进行修改呢?大神
再答: 貌似这些函数不支持矩阵运算,你再等等其他人的结果吧~
再问: 好,多谢