当前位置:   article > 正文

数字图像处理作业(一)_数字图像处理课程作业

数字图像处理课程作业

同态滤波概念

同态滤波(Homomorphic filter)是信号与图像处理中的一种常用技术,它采用了一种线性滤波在不同域中的非线性映射。

同态系统:是将非线性问题,转化为线性问题处理。即对非线性(乘性)混杂信号,通过某种数学运算(如对数变换),变成加性模型,而后采用线性滤波方法进行处理。

同态滤波:是把频率滤波和空域灰度变换结合起来的一种图像处理方法,它根据图像的照度/反射率模型作为频域处理的基础,利用压缩亮度范围和增强对比度来改善图像的质量。

我们可以将一幅图像分为两个分量,如下:
在这里插入图片描述
这两个分量分别为照射分量fi(x,y)和反射分量fr(x,y)。

其中 0<fi(x,y)<∞,0<fr(x,y)<1。fi(x,y)描述景物的照明,变化缓慢,处于低频成分。fr(x,y)描述景物的细节,变化较快,处于高频成分。

同态滤波过程,分为以下5个基本步骤:

① 原图做对数变换,得到如下两个加性分量,即
在这里插入图片描述
② 对数图像做傅里叶变换,得到其对应的频域表示为:
在这里插入图片描述
③ 设计一个频域滤波器H(u,v),进行对数图像的频域滤波。

④ 傅里叶反变换,返回空域对数图像。

⑤ 取指数,得空域滤波结果。

综上所述,得到同态滤波的基本步骤如下图:
在这里插入图片描述

获取灰度图像直方图

通过用户自己编写的获取灰度直方图,代码即注释如下:

image=imread('lena.jpg');
[M, N, D]=size(image);  %获取图片长、宽以及颜色通道数
if D>1
   image=rgb2gray(image);  %如果颜色通道数D>1,则将彩色图像转化为灰度图
end
grayNumber=zeros(1,256);  %申明1256列的数组用于存放[0;255]的像素个数

%使用双for循环获取图像灰度值信息
for i=1:M
    for j=1:N
    	%图像image灰度在(0-255),而grayNumber数组为(1-256)所以image(i,j)加一
        grayNumber(image(i,j)+1)=grayNumber(image(i,j)+1)+1;
    end
end
figure(1)
plot(grayNumber),xlim([0,256]),title("图像灰度直方图")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

下面为使用matlab的内置函数来直接获取灰度图像直方图的方法:

figure(2)
imhist(image);   %此时的image为灰度图
  • 1
  • 2

程序中所使用的图片lena.jpg为下图:
在这里插入图片描述

将自己编写的灰度直方图与内置函数获取灰度直方图进行对比。
用户程序获得灰度信息折线图结果:

用户自己编写的程序获得的图像灰度直方图使用函数imhist(image)直接显示直方图信息:
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/257536
推荐阅读
相关标签
  

闽ICP备14008679号