灰度变换 您所在的位置:网站首页 图像处理对数变换 灰度变换

灰度变换

2023-12-16 10:43| 来源: 网络整理| 查看: 265

分类:对数变换属于灰度变换中的非线性变换。 作用: 1.对数变换实现了图像灰度扩展和压缩的功能。可以从对数曲线看出,它扩展低灰度值而压缩高灰度值。 2.用于显示傅里叶变换的频谱图。在进行傅立叶变换时,得到的频谱的动态范围较大,频谱值的范围通常为[0,10^6],甚至更高。这样范围的值,显示器是无法完整的显示如此大范围的灰度值的,因而许多灰度细节会被丢失掉。而将得到的频谱值进行对数变换,可以将其动态范围变换到一个合适区间,这样就能够显示更多的细节。

s = c log ⁡ ( 1 + r )

matlab实现: 可以直接通过定义图像矩阵得到,也可以逐像素点经对数函数得到新的响应。 代码:

clear %对数变换 I=imread('1.jpg'); I=rgb2gray(I); I=im2double(I); [m,n]=size(I); T=1.1*log(I+1.1); K=zeros(m,n); for i=1:m for j=1:n K(i,j)=log(I(i,j)+1); end end subplot(331) imshow(I); subplot(332) imshow(T,[]); subplot(333) imshow(K,[]); %频域 F1=abs(fftshift(fft2(I))); % F2=abs(fftshift(fft2(T))); F2=log(F1+1); F3=abs(fftshift(fft2(K))); subplot(334) imshow(F1,[]); subplot(335) imshow(F2,[]); subplot(336) imshow(F3,[]); %直方图 [counts,x]=imhist(I,32); counts=counts/m/n; subplot(337) stem(x,counts); [counts,x]=imhist(T,32); counts=counts/m/n; subplot(338) stem(x,counts); [counts,x]=imhist(K,32); counts=counts/m/n; subplot(339) stem(x,counts);

这里写图片描述 可以看到, 1.经过对数变换,第二列相对第一列原图,灰度更为集中在中间灰度范围:原因是低灰度更亮,高灰度变暗。这也可以从直方图看到。 2.第二列傅里叶变换的频谱图是对原图傅里叶频谱图的对数变换,可以看到,经过对数变换,能够显示更多的图像信息。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有