imadjust函数的形式如下: J=imadjust(I,[low_in;high_in],[low_out;high_out],gamma)
g2=imadjust(f,[0.5 0.75],[0 1]);//将0.5-0.75范围内线性变换到0-1,小于0.5归于0,大于0.75归于1 g3=imadjust(f,[],[],2);//2次变换,gamma为2gamma<1类似于将低输入转为高输出 gamma>1类似于将高输入转为低输出
对数变换的主要应用是压缩动态范围,例如傅立叶频谱在0-10^6,通过计算对数可以降至13.8,易于处理。对数变换的公式如下: g=c*log(1+double(f)); 将压缩值返回至显示的全域较多采取如下函数:
f1=im2uint8(mat2gray(f));//im2uint8:至[0 1] mat2gray: 至[0 255]对比度拉伸变换的公式如下:s=T(r)=1/[1+(m/r)^E] 其中r 、s分别表示输入和输出图像的灰度值,E控制函数的斜度
f=imread('moon.tif'); g=1./(1+(128./f).^20);//在MATLAB中对浮点图像进行执行 g2=im2uint8(mat2gray(g)); imshow(g2)对比度拉伸之后的效果,类似阈值分割
直方图可能仅占用了[0,255]的部分空间,直方图均衡化:将所有灰度的概率都等于1/(L-1),将直方图均衡化,意味着最大化可能的信 息量。 x1即为0-1内的随机数
三步走: 1. 计算PDF的积分== CDF; 2. 计算CDF的反函数==F(x); 3. 生成均匀随机函数xi,则F(xi)的分布按照你设置的PDF . exp1:生成概率密度p(x)=2*x,x在(0,1)? 1.cdf函数:2x从0-x1积分——x^2+c 2.y=sqrt(x)+c 确定c为0 3.生成(0,1)随机数。
xi=rand(1,1000000);//随机生成1000000个数 >> xx=sqrt(xi); //第2步生成的cdf反函数 >> hist(xx,100) //频数分布直方图 将0-1分为100可以通过均匀概率密度生成非均匀概率密度。
