MATLAB向量化展示和stretchlim后展示

在这个例子中,我们写两种MATLAB版本的函数,创建一幅以下面等式为基础的合成图像。
第一个函数twodsin1使用两个嵌套的for循环计算f:
function f=twodsin1(A,u0,v0,M,N)
f=zeros(M,N);
for c=1:N
v0y=v0*(c-1);
for r=1:M
u0x = u0*(r-1);
f(r,c)=Asin(u0x+v0y);
end
end
在for循环之前预先分配步骤f=zeros(M,N)我们是用timeit创建一幅大小为512
512像素的图像,看这个函数用了多长时间:
没有预分配,这个函数运行满了约42倍,用同样的输入量执行,用去1.9826秒。我们可以用imshow的自动范围语法([])显示结果图像:
f=twodsin1(1,1/(4pi),1/(4pi),512,512);
imshow(f,[])
在这里插入图片描述
f=twodsin1(1,1/(4pi),1/(4pi),512,512);
g=imadjust(f,stretchlim(f),[]);
imshow(g,[])
在这里插入图片描述

数字图像处理的MATLAB实现(第2版)—【美】Rafael C.Gonzalez Richard E.Woods Steven L.Eddins著----阮秋琦 译—【M】北京:清华大学出版社

猜你喜欢

转载自blog.csdn.net/m0_38127487/article/details/114133602