当前位置:文档之家› 数字图像的空间域滤波和频域滤波备课讲稿

数字图像的空间域滤波和频域滤波备课讲稿

数字图像的空间域滤波和频域滤波备课讲稿
数字图像的空间域滤波和频域滤波备课讲稿

数字图像的空间域滤波和频域滤波

精品资料

数字图像的空间域滤波和频域滤波

2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,

要求在同一窗口中显示。

加入椒盐噪声后图像的滤波:

img1 =cv2.imread("D:\\mote.jpg",0)

img=img1[100:300]

src =salt_pepperNoise(img)

cv2.imshow("origin",src)

dst = cv2.blur(src,(3,3)) #均值滤波模板

cv2.imshow("blur",dst)

dst1 = cv2.medianBlur(src,5) #中值滤波

cv2.imshow("medianBlur",dst1)

dst2 = cv2.GaussianBlur(src,(3,3),0) #高斯滤波

cv2.imshow("GaussianBlur",dst2)

cv2.waitKey(0)

cv2.destroyAllWindows()

3) 进行低通滤波,显示处理后的图像。

import cv2

import numpy as np

def function(img):

h,w=img.shape

newimg=np.zeros((h,w),np.uint8)

img2=np.fft.fft2(img)

fshift = np.fft.fftshift(img2)

st=fshift.copy()

h,w=fshift.shape

sh=h/2

sw=w/2

r=40

for i in range(h):

for j in range(w):

if ((sh - i) * (sh - i) + (sw - j) * (sw - j)) <= r * r: newimg[i, j] = 255

tmp = 1

else:

tmp = 0

st[i, j] = tmp * fshift[i, j]

sl=np.fft.ifftshift(st)

x2=np.fft.ifft2(sl)

x3=np.uint8(np.real(x2))

return newimg,x3

img=cv2.imread('D:\\mote.jpg',0)

img1,img2=function(img)

cv2.imshow("image",img)

cv2.imshow("low pass filtering",img2)

cv2.waitKey(0)

4) 显示均值处理后的图像。

代码:

import cv2

import matplotlib.pyplot as plt

img = cv2.imread('D:\\mote.jpg',0) #直接读为灰度图像

blur = cv2.blur(img,(3,5))#模板大小3*5

plt.subplot(1,2,1),plt.imshow(img,'gray')#默认彩色,另一种彩色bgr plt.title('img')

plt.xticks([]), plt.yticks([])

plt.subplot(1,2,2),plt.imshow(blur,'gray')

plt.title('blur')

plt.xticks([]), plt.yticks([])

plt.show()

5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处

理,要求在同一窗口中显示结果。

代码:

import cv2

import matplotlib.pyplot as plt

img = cv2.imread('D:/img/salt.jpg',0) #直接读为灰度图像

blur = cv2.blur(img,(3,5))#模板大小3*5

mid =cv2.medianBlur(img,5)

plt.subplot(1,2,1),plt.imshow(mid,'gray')

plt.title('medianBlur')

plt.xticks([]), plt.yticks([])

plt.subplot(1,2,2),plt.imshow(blur,'gray')

plt.title('blur')

plt.xticks([]), plt.yticks([])

plt.show()

2. 锐化空间滤波

1) 读出一幅图像,采用3×3的拉普拉斯算子w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。

# 定义函数,实现拉普拉斯算子

def Laplace(src):

template = np.ones((3, 3), dtype=np.float32) # 模板

template[1, 1] = -8.0

addBorder = cv2.copyMakeBorder(src, 1, 1, 1, 1, cv2.BORDER_REFLECT_101) row, col = src.shape

dst = np.zeros((row, col), dtype=np.int16)

for i in range(row):

for j in range(col):

temp = addBorder [i:i+3, j:j+3]

dst[i, j] = np.sum(template*temp)

return dst

2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×5

的拉普拉斯算子

w = [ 1 1 1 1 1

1 1 1 1 1

1 1 -24 1 1

1 1 1 1 1

1 1 1 1 1]

import numpy as np

import pandas as pd

import cv2

from scipy import ndimage

kernel_5x5=np.array([[1,1,1,1,1],

[1,1,1,1,1],

[1,1,-24,1,1],

[1,1,1,1,1,],

[1,1,1,1,1]])

img = cv2.imread("D:\\mote.jpg", 0)

k5 = ndimage.convolve(img, kernel_5x5)

cv2.imshow("5x5", k5)

cv2.waitKey()

cv2.destroyAllWindows()

3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对

blurry_moon.tif进

行锐化滤波,并利用式完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。

代码:

import cv2

img=blurred = cv2.imread("D:\\mote.jpg",0)

#5×5,9×9,15×15和25×25

blurred1 =cv2.GaussianBlur(img, (5,5), 0)

blurred2 =cv2.GaussianBlur(img, (9,9), 0)

blurred3 =cv2.GaussianBlur(img, (15,15), 0)

blurred4 =cv2.GaussianBlur(img, (25,25), 0)

img5x5 = img - blurred1

img9x9 = img - blurred2

img15x15 = img - blurred3

img25x25 = img - blurred4

cv2.imshow("5x5",img5x5 )

cv2.imshow("9x9",img9x9 )

cv2.imshow("15x15",img15x15)

cv2.imshow("25x25",img25x25 )

cv2.waitKey(0)

随着属性值的增大,图像锐化增强

4) 采用不同的梯度算子对blurry_moon.tif进行锐化滤波,并比较其效果。代码:

import numpy as np

import cv2

src = cv2.imread("D:\\mote.jpg",0)

#sobel算法

x =cv2.Sobel(src,cv2.CV_16S,1,0)

y =cv2.Sobel(src,cv2.CV_16S,0,1)

absX =cv2.convertScaleAbs(x)

absY =cv2.convertScaleAbs(y)

dst =cv2.addWeighted(absX,0.5,absY,0.5,0)

cv2.imshow('Sobel',dst)

#拉布拉斯算子

lap =https://www.doczj.com/doc/dd2287352.html,placian(src,cv2.CV_16S,3)

dst1 =cv2.convertScaleAbs(lap)

cv2.imshow("Laplacian",dst1)

#Canny算子

can =cv2.Canny(src,30,120)

s= src-can

src1 =cv2.GaussianBlur(s,(3,3),0)

cv2.imshow("can",src1 )

cv2.waitKey(0)

3. 傅立叶变换

1)读出woman.tif这幅图像,对其进行快速傅立叶变换,分别显示其幅度

图像和相位

图像。

仅对相位部分进行傅立叶反变换后查看结果图像。

2)仅对幅度部分进行傅立叶反变换后查看结果图像。

3)将图像的傅立叶变换F置为其共轭后进行反变换,比较新生成图像与原

始图像的差

异。

代码:

import cv2

import numpy as np

import matplotlib.pyplot as plt

img = cv2.imread('D:\\mote.jpg',0)

f = np.fft.fft2(img) # 快速傅里叶变换算法得到频率分布

fshift = np.fft.fftshift(f)

s1 = np.log(np.abs(f))

s2 = np.log(np.abs(fshift))

ph_f = np.angle(f)

ph_fshift = np.angle(fshift)

plt.subplot(221),plt.imshow(s1,'gray'),plt.title('original magnitude') plt.subplot(222),plt.imshow(s2,'gray'),plt.title('center magnitude') plt.subplot(223),plt.imshow(ph_f,'gray'),plt.title('original phase') plt.subplot(224),plt.imshow(ph_fshift,'gray'),plt.title('center phase') plt.show()

空间域滤波器(实验报告)

数字图像处理作业 ——空间域滤波器 摘要 在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。本文利用matlab软件,采用空域滤波的方式,对图像进行平滑和锐化处理。平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。本文使用的平滑滤波器有中值滤波器和高斯低通滤波器,其中,中值滤波器对去除椒盐噪声特别有效,高斯低通滤波器对去除高斯噪声效果比较好。使用的锐化滤波器有反锐化掩膜滤波、Sobel边缘检测、Laplacian边缘检测以及Canny算子边缘检测滤波器。不同的滤波方式,在特定的图像处理应用中有着不同的效果和各自的优势。

1、分别用高斯滤波器和中值滤波器去平滑测试图像test1和2,模板大小分别 是3x3 , 5x5 ,7x7;利用固定方差 sigma=1.5产生高斯滤波器. 附件有产生高斯滤波器的方法。 实验原理分析: 空域滤波是直接对图像的数据做空间变换达到滤波的目的。它是一种邻域运算,其机理就是在待处理的图像中逐点地移动模板,滤波器在该点地响应通过事先定义的滤波器系数与滤波模板扫过区域的相应像素值的关系来计算。如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。 空域滤波器从处理效果上可以平滑空间滤波器和锐化空间滤波器:平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。 模板在源图像中移动的过程中,当模板的一条边与图像轮廓重合后,模板中心继续向图像边缘靠近,那么模板的某一行或列就会处于图像平面之外,此时最简单的方法就是将模板中心点的移动范围限制在距离图像边缘不小于(n-1)/2个像素处,单处理后的图像比原始图像稍小。如果要处理整幅图像,可以在图像轮廓边缘时用全部包含于图像中的模板部分来滤波所有图像,或者在图像边缘以外再补上一行和一列灰度为零的像素点(或者将边缘复制补在图像之外)。 ①中值滤波器的设计: 中值滤波器是一种非线性统计滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序的中间值代替中心像素的值。它比小尺寸的线性平滑滤波器的模糊程度明显要低,对处理脉冲噪声(椒盐噪声)非常有效。中值滤波器的主要功能是使拥有不同灰度的点看起来更接近于它的邻近值,去除那些相对于其邻域像素更亮或更暗,并且其区域小于滤波器区域一半的孤立像素集。 在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。例如若窗口长度为5,窗口中像素的灰度值为80、90、200、110、120,则中值为110,因为按小到大(或大到小)排序后,第三位的值是110。于是原理的窗口正中的灰度值200就由110取代。如果200是一个噪声的尖峰,则将被滤除。然而,如果它是一个信号,则滤波后就被消除,降低了分辨率。因此中值滤波在某些情况下抑制噪声,而在另一些情况下却会抑制信号。 将中值滤波推广到二维的情况。二维窗口的形式可以是正方形、近似圆形的或十字形等。本次作业使用正方形模板进行滤波,它的中心一般位于被处理点上。窗口的大小对滤波效果影响较大。 根据上述算法利用MATLAB软件编程,对源图像test1和test2进行滤波处理,结果如下图:

频域滤波

数字图像处理实验报告 班级:13计算机01班姓名:郭培甲 学号:20134440117 指导老师:蒋良卫 时间:2016-5-5

实验七 图像增强—频域滤波 一、 实验目的 1.掌握怎样利用傅立叶变换进行频域滤波 2.掌握频域滤波的概念及方法 3.熟练掌握频域空间的各类滤波器 4.利用MATLAB 程序进行频域滤波 二、 实验原理及知识点 频域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和高通滤波器。频域低通过滤的基本思想: G(u,v)=F(u,v)H(u,v) F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤器变换函数,G(u,v)是通过H(u,v)减少F(u,v)的高频部分来得到的结果,运用傅立叶逆变换得到钝化后的图像。 理想地通滤波器(ILPF)具有传递函数: 001(,)(,)0(,)ifD u v D H u v ifD u v D ≤?=?>? 其中,0D 为指定的非负数,(,)D u v 为(u,v)到滤波器的中心的距离。0(,)D u v D =的点的轨迹为一个圆。 n 阶巴特沃兹低通滤波器(BLPF)(在距离原点0D 处出现截至频率)的传递函数为201 (,)1[(,)]n H u v D u v D =+ 与理想地通滤波器不同的是,巴特沃兹率通滤波器的传递函数并不是在

0D 处突然不连续。 高斯低通滤波器(GLPF)的传递函数为 2 22),(),(σv u D e v u H = 其中,σ为标准差。 相应的高通滤波器也包括:理想高通滤波器、n 阶巴特沃兹高通滤波器、高斯高通滤波器。给定一个低通滤波器的传递函数(,)lp H u v ,通过使用如下的简单关系,可以获得相应高通滤波器的传递函数:1(,)hp lp H H u v =- 利用MATLAB 实现频域滤波的程序 主程序: clc;clear all f=imread('room.tif'); F=fft2(f); %对图像进行傅里叶变换 %对变换后图像进行对数变换,并对其坐标进行平移,使其中心化 S=fftshift(log(1+abs(F))); S=gscale(S); %将图像频谱标度在0-255的范围内 subplot 121;imshow(f); title('原始图像') subplot 122;imshow(S) %显示频谱图像 title('原始图像的频谱') h=fspecial('sobel'); %产生空间‘sobel ’模板 freqz2(h) %查看相应频域滤波器的图像 PQ=paddedsize(size(f)); %产生滤波时所需大小的矩阵 H=freqz2(h,PQ(1),PQ(2)); %产生频域中的‘sobel ’滤波器 H1=ifftshift(H); %重拍数据序列,使得原点位于频率矩阵的左上角 figure subplot 121;imshow(abs(H),[]) %以图形形式显示滤波器 title('空间滤波器') subplot 122;imshow(abs(H1),[]) title('空间滤波器移位后的频谱') gs=imfilter(double(f),h); %用模板h 进行空域滤波 gf=dftfilt(f,H1); %用滤波器对图像进行频域滤波 subplot 221;imshow(gs,[]) title('用模板h 进行空域滤波后的图像')

实验三 图像的空间域滤波

1 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); subplot(1,3,1); imshow(I);title('原图'); J=imnoise(I,'salt & pepper',0.05); subplot(1,3,2); imshow(J); title('加入椒盐噪声图象'); K=imnoise(I,'gaussian',0.01,0.02); subplot(1,3,3); imshow(K);title('加入高斯噪声图象'); 2 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); Subplot(2,2,1); Imshow(I);title('原图'); H=fspecial('motion',20,45); MotionBlur=imfilter(I,H,'replicate'); Subplot(2,2,2); Imshow(MotionBlur);title('MotionBlur image'); H=fspecial('disk',10); blurred=imfilter(I,H,'replicate'); Subplot(2,2,3); Imshow(blurred);title('Blurred image'); H=fspecial('unsharp',0.5); Sharpened=imfilter(I,H,'replicate'); Subplot(2,2,4); Imshow(Sharpened);title('sharpened image');

3 A=imread('E:\pic\1.jpg'); I=rgb2gray(A); J=imnoise(I,'salt & pepper',0.05); Subplot(2,2,1);imshow(J);title('加入椒盐噪声图象'); H=fspecial('motion',20,45); MotionBlur=imfilter(J,H,'replicate'); Subplot(2,2,2); Imshow(MotionBlur);title('replicate'); MotionBlur=imfilter(J,H,'symmetric'); Subplot(2,2,3); Imshow(MotionBlur);title('symmetric'); MotionBlur=imfilter(J,H,'circular'); Subplot(2,2,4); Imshow(MotionBlur);title('circular');

图像的傅立叶变换与频域滤波

实验四 图像的傅立叶变换与频域滤波 一、 实验目的 1了解图像变换的意义和手段; 2熟悉傅里叶变换的基本性质; 3熟练掌握FFT 方法的应用; 4通过实验了解二维频谱的分布特点; 5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。 6、掌握怎样利用傅立叶变换进行频域滤波 7、掌握频域滤波的概念及方法 8、熟练掌握频域空间的各类滤波器 9、利用MATLAB 程序进行频域滤波 二、 实验原理 1应用傅立叶变换进行图像处理 傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。 2傅立叶(Fourier )变换的定义 对于二维信号,二维Fourier 变换定义为 : ??∞ ∞ -+-==dxdy e y x f v u F y x f F vy ux j )(2),(),()},({π

二维离散傅立叶变换为: ∑ ∑-=+--==10)(21 01 ),(),(N y N y u M x u j M x MN e y x f v u F π 图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。 3利用MATLAB 软件实现数字图像傅立叶变换的程序: I=imread(‘原图像名.gif’); %读入原图像文件 imshow(I); %显示原图像 fftI=fft2(I); %二维离散傅立叶变换 sfftI=fftshift(fftI); %直流分量移到频谱中心 RR=real(sfftI); %取傅立叶变换的实部 II=imag(sfftI); %取傅立叶变换的虚部 A=sqrt(RR.^2+II.^2);%计算频谱幅值 A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化 figure; %设定窗口 imshow(A); %显示原图像的频谱 域滤波分为低通滤波和高通滤波两类,对应的滤波器分别为低通滤波器和 高通滤波器。频域低通过滤的基本思想: G(u,v)=F(u,v)H(u,v) F(u,v)是需要钝化图像的傅立叶变换形式,H(u,v)是选取的一个低通过滤

用理想低通滤波器在频率域实现低通滤波、用理想高通滤波器在频率域实现高频增强

作业5 1、用理想低通滤波器在频率域实现低通滤波 程序代码如下: clear; A=imread('picture4.jpg'); I=rgb2gray(A); figure(1); imshow(I); title('原图像'); g = imnoise(I, 'gaussian' ,0 ,0.01); J = I+g; figure(2); imshow(J); title('加高斯噪声后图像'); s=fftshift(fft2(I)); figure(3); imshow(abs(s),[]); title('图像傅里叶变换所得频谱'); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=150; for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=1; else h=0; end; s(i,j)=h*s(i,j); end; end; s=uint8(real(ifft2(ifftshift(s)))); figure(4); imshow(s); title('低通滤波后所得图像');

得到的图像如下:

2、用理想高通滤波器在频率域实现高频增强 程序源代码如下: clrar; A=imread('picture5.jpg');

I=rgb2gray(A); figure(1); imshow(I); title('原图像'); s=fftshift(fft2(I)); figure(2); imshow(abs(s),[]); title('图像傅里叶变换所得频谱'); figure(3); imshow(log(abs(s)),[]); title('图像傅里叶变换取对数所得频谱'); [a,b]=size(s); a0=round(a/2); b0=round(b/2); d=150; p=0.2;q=0.5; for i=1:a for j=1:b distance=sqrt((i-a0)^2+(j-b0)^2); if distance<=d h=0; else h=1; end; s(i,j)=(p+q*h)*s(i,j); end; end; s=uint8(real(ifft2(ifftshift(s)))); figure(4); imshow(s); title('高通滤波所得图像'); figure(5); imshow(s+I); title('高通滤波所得高频增强图像'); 得到的图像如下:

空间域图像滤波

function Template=gausTemplate(n,sigma) end ---------------------------------------------------------------------------------------------------------------------- clc clear im=imread('C:\Users\Administrator\Desktop\lena.jpg'); s=11;sigma=10; k=(s-1)/2; Template=gausTemplate(s,sigma);%生成高斯模板 [m,n]=size(im); %图像扩边 %%%%%%%%%%%%%%%%%% for i=k+1:m+k for j=k+1:n+k neighbor=;%%%%点i,j的邻阈 temp=;%%邻域内点乘 imF(i,j)=;%计算滤波器响应 end end imFil=imF(k+1:m+k,k+1:n+k);%滤波后的图像 imFil=uint8(imFil); imshow(imFil) clc clear im=imread('C:\Users\Administrator\Desktop\lena.jpg'); s=3;sigma=0.8; k=(s-1)/2; Template=gausTemplate(s,sigma);%éú3é???1?£°? [m,n]=size(im); %í???à?±? new=zeros(m+2*k,n+2*k);

new(k+1:m+k,k+1:n+k)=im; %%%%%%%%%%%%%%%%%% for i=k+1:m+k for j=k+1:n+k neighbor=new(i-k:i+k,j-k:j+k) ;%%%%μ?i,jμ?áú?Dtemp=neighbor.*Template ;%%áúóò?úμ?3? imF(i,j)=sum(temp(:)) ;%??????2¨?÷?ìó| end end imFil=imF(k+1:m+k,k+1:n+k);%??2¨oóμ?í??? imFil=uint8(imFil); imshow(imFil);

频率域滤波的MATLAB设计与实现_课程设计

设计题目频率域滤波的MATLAB设计与实现

目录 摘要...................................................................................................................... - 3 - 1. 数字图像处理. (1) 1.1发展概况: (1) 1.2关键技术: (1) 2.频率域滤波的产生背景及意义 (3) 2.1傅立叶级数和变换简史: (3) 2.2频率域滤波的意义: (3) 3. 频率域滤波的常用方法 (4) 3.1低通滤波 (4) 3.1.1理想低通滤波器的截面图 (5) 3.2高通滤波 (7) 3.3带阻滤波 (9) 3.4带通滤波 (10) 4.原理及实现 (10) 4.1频率域增强基本理论 (10) 4.2傅立叶变换 (11) 4.3频率域理想低通(ILPF)滤波器 (12) 4.3.1理想低通滤波器的截面图 (12) 4.3频率域巴特沃兹(Butterworth)低通滤波器 (13) 4.4频率域高斯(Gaussian)低通滤波器 (14) 5.程序设计 (15) 5.1算法设计(程序设计流程图) (15) 5.2 对灰度图像进行Fourier变换的程序 (15) 5.3频率域理想低通滤波器 (15) 5.4 二阶巴特沃斯(Butterworth)低通滤波程序 (16) 5.5 高斯(Gaussian)低通滤波程序 (17) 6.结果与分析 (19) 6.1 对灰度图像进行Fourier变换后的频谱图 (20) 6.2二阶巴特沃斯(Butterworth)低通滤波结果与分析 (20)

频域滤波

一、频域滤波(低通滤波、高通滤波) (一)频域低通滤波器 1.实验目的:通过低通滤波器函数模板来处理图像,牺牲图像 清晰度为代价来减少干扰效果的修饰过程。 2.实验内容:用不同的低通滤波器对原始图像进行处理并比 较。 3.实验原理: 1)理想低通滤波器 最容易想到的衰减高频成分方法是在一个称为‘截止频 率’的位置截断所有的高频成分,将图像频谱中所有高 于这一截止的频谱成分设为0,低于截止频率的成分 设为保持不变。能够达到这种效果的滤波器我们称之为 理想低通滤波器。 其中,D0表示通带的半径。滤波器的频率域原点在频 谱图像的中心处,在以截止频率为半径的圆形区域之 内的滤镜元素值全部为1,而该圆之外的滤镜元素值 全部为0.理想低通滤波器的频率特性在截止频率处十

分陡峭,无法用硬件实现,这也是我们称之为理想的 原因,但其软件编程的模拟实现较为简单。 2)巴特沃斯低通滤波器 同样的,D0表示通带的半径,n表示的是巴特沃斯滤 波器的次数。 3)高斯低通滤波器 D0表示通带的半径。 4.过程与结果: 1)对一幅图像用理想低通滤波器结果如图: 原图及其频谱图

D0=60时理想低通滤波器转移函数的平面图及剖面图 D0=160时理想低通滤波器转移函数的平面图及剖面图

D0=60时理想低通滤波器的处理结果

2) 对一幅图像用巴特沃斯低通滤波器处理,结果如图: D0=100, n=1时理想低通滤波器转移函数的平面图及剖面图 D0=100,n=3时理想低通滤波器转移函数的平面图 及剖面图

D0=100,n=1时理想低通滤波器转移函数的频谱图及结果

数字图像的空间域滤波和频域滤波

数字图像的空间域滤波和频域滤波

三、实验过程 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。 椒盐噪声: def salt_pepperNoise(src): dst = src.copy() num = 1000 # 1000个噪声点 ndim = np.ndim(src) row, col = np.shape(src)[0:2] for i in range(num): x = np.random.randint(0, row) # 随机生成噪声点位置 y = np.random.randint(0, col) indicator = np.random.randint(0, 2) # 灰度图像 if ndim == 2: if indicator == 0: dst[x, y] = 0 else: dst[x, y] = 255 # 彩色图像 elif ndim == 3: if indicator == 0: dst[x, y, :] = 0 else: dst[x, y, :] = 255 return dst 高斯噪声: def addGaussianNoise(image,sigma): mean = 0.0 row, col ,ch= image.shape gauss = np.random.normal(mean, sigma, (row, col,ch)) gauss = gauss.reshape(row, col,ch) noisy = image + gauss return noisy.astype(np.uint8)

数字图像处理灰度变换与空间域matlab

学号: 0000000000 姓名:0000000 实验一灰度变换与空间域滤波 一.实验目的及要求 1.了解MATLAB的操作环境和图像处理工具箱Image Processing Toolbox的功能;2.加深理解图像灰度变换与空间域滤波概念和算法原理; 3.掌握MATLAB中图像灰度变换与空间域滤的实现方法。 二、实验内容 (一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。利用MATLAB帮助文档熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。(可将每段程序保存为一个.m文件) 1.图像及视频文件的基本操作 (1)RGB彩色图像数据的读写操作 clear all; %清除工作空间的所有变量,函数,和MEX文件 close all; %关闭所有的Figure窗口 %查看一幅RGB彩色图像文件的信息 fileinfo = imfinfo('Fig0701_fruits.jpg') %暂停,阅读命令窗口中的结果,按空格键继续 pause; %读取该图像 I=imread('Fig0701_fruits.jpg'); %显示图像 imshow(I); title('Original RGB true color image'); %查看图像像素信息,在图像上移动鼠标,注意左下角的信息 impixelinfo; %暂停,按空格键继续 pause; % 读取图像的颜色分量,并保存到二维矩阵变量中 IR = I(:,:,1); IG = I(:,:,2); IB = I(:,:,3); %以灰度图像的方式显示各颜色分量

figure, imshow(IR); title('R分量'); figure, imshow(IG); title('G分量'); figure, imshow(IB); title('B分量'); %在图像左上角画一条5像素宽、100像素长的水平稍暗红线 I(31:35,61:160,1)=200; I(31:35,61:160,2)=0; I(31:35,61:160,3)=0;% %显示处理结果 figure, imshow(I); title('在图像背景中画红线'); %将结果保存为tif格式图像文件 imwrite(I,'fruits_bar.tif'); %-------------------------------------------------------------------------------- (2)索引图像与 RGB彩色图像之间的转换

实验三数字图像的空间域滤波讲解

实验三、四数字图像的空间域滤波和频域滤波 1.实验目的 1.掌握图像滤波的基本定义及目的。 2.理解空间域滤波的基本原理及方法。 3.掌握进行图像的空域滤波的方法。 4.掌握傅立叶变换及逆变换的基本原理方法。 5.理解频域滤波的基本原理及方法。 6.掌握进行图像的频域滤波的方法。 2.实验基本原理 1.空间域增强 空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。 空域滤波一般分为线性滤波和非线性滤波两类。线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪声。锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。结合这两种分类方法,可将空间滤波增强分为四类: 线性平滑滤波器(低通) 非线性平滑滤波器(低通) 线性锐化滤波器(高通) 非线性锐化滤波器(高通) 空间滤波器都是基于模板卷积,其主要工作步骤是: 1)将模板在图中移动,并将模板中心与图中某个像素位置重合; 2)将模板上的系数与模板下对应的像素相乘; 3)将所有乘积相加; 4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。 2.平滑滤波器 1)线性平滑滤波器 线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×3 的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围内,模板与象素邻域的乘积都要除以9。 MATLAB 提供了fspecial 函数生成滤波时所用的模板,并提供filter2 函数用指定的滤

傅立叶变换与频率域滤波

实验四傅立叶变换与频率域滤波 实验目的 通过本次实验,实现以下几个目标: 1.理解傅立叶变换; 2.熟悉MATLAB中各种傅立叶变换相关的函数; 3.掌握频域滤波的步骤以及MATLAB的实现方法; 4.理解频域滤波器与空域滤波器的关系。 实验内容 一、傅立叶变换及傅立叶反变换 1.傅立叶变换相关函数 MATLAB提供了几个和傅里叶变换相关的函数。其说明如下: F=fft2(f); 二维傅立叶变换 abs(F); 获得傅立叶频谱 fftshift(F); 将变换的原点移至频率矩形的中心 ifft2(F); 二维傅立叶反变换 real(ifft2(F)); 提取变换后的实部 imag(ifft2(F)); 提取变换后的虚部 2.傅里叶频谱 傅里叶频谱反映了图像的频率成分。下面的例子对课本中123页和 125页的图Fig4.03(a) 和图Fig4.04(a)进行傅立叶变换,得到傅立叶 频谱。显示傅立叶频谱时,使用了对数变换以获得更好效果。 f=imread('Fig4.03(a).jpg'); F=fft2(double(f)); F=fftshift(F); figure(1), imshow(f); figure(2), imshow(log(abs(F)+1),[ ]); f=imread('Fig4.04(a).jpg'); F=fft2(double(f)); F=fftshift(F); figure(1), imshow(f); figure(2), imshow(log(abs(F)+1),[ ]); 为了更好地理解频谱,显示下面三个图像(x6.jpg,x60.jpg,y6.jpg)的傅里叶频谱,观察并比较、分析结果。 显示频谱时使用下面的语句来做灰度变换可找出其主要的频率成分。 figure(2), imshow(log(abs(F)+1).^4,[ ]); %先对数、再幂次变换

频域滤波

频域滤波 主要内容: 一.回顾空间滤波 二.傅里叶变换 三.傅里叶变换的性质 四.频域滤波 一.回顾空间滤波 “滤波”:接受或拒绝一定的频率分量,来源频域处理。分空间滤波和频率滤波(即对图像的频谱进行滤波)。 空间滤波:就是滤波器和图像做卷积的结果。 平滑滤波器滤波器: 锐化滤波器:

二. 傅里叶变换 1.由傅里叶级数推倒的连续傅里叶变换 设周期信号为()x t ,其周期是T ,频率1 T σ =,角频率2ωπσ=,则 将()x t 展成指数形式的Fourier 级数如下: ()in t n n x t X e ω ∞ =-∞ = ∑, 其中 /2 /2 1()T in t n T X x t e dt T ω--=? 两边同时乘以T ,得到 /2 /2 ()T in t n T X T x t e dt ω--= ? 对于非周期信号,重复周期T →∞,离散频率n ω就变成连续频率ω了。在这种极限情况下,2n X πω趋于有限值,且变成一个连续函数,记为()F ω. ()lim ()i t n T X X T x t e dt ωω+∞ -→∞ -∞ == ? (Fourier 变换) 1 ()()2i t x t X e d ωωωπ +∞ -∞ = ? (Fourier 逆变换) 若用频率σ代替角频率2ωπσ=,则有

2()()i t X x t e dt πσσ+∞ --∞ = ? ,σ 为频率 2()()i t x t X e d πσσσ +∞ -∞ = ? 由()F μ表示连续变量t 的连续函数()f t 的傅里叶变换由下式定义: 2()()j t F f t e dt πμμ∞--∞ =? 相反,给定()F μ,通过傅里叶逆变换可以获得()f t ,傅里叶逆变换定义如下: 2()()j t f t F e d πμμμ ∞ -∞=? 上述两式称为傅里叶变换对。 例: 看一个简单函数的傅里叶变换: 1,11()0,t f t -≤≤?=?? 其他 ,将其进行傅里叶变换121sin(2)()1j t F e dt πμπμμπμ--=?=? 2.离散傅里叶变换(DFT ) 离散傅里叶变换的公式: 1 2/0()(),0,1,2,...,1 M j x M x F f x e M πμμμ--===-∑ 原函数()f t 原函数的傅里叶变换()F μ

频域滤波课程设计

1引言 当前,人类社会已经进入了信息社会。信息是事物运动状态和特征的反映,它和材料及能量一起构成社会的三个要素。但是,信息具有一些不同于材料和能量的特征。信息具有普遍性,无损性,时空独立性,等等。正是由于信息具有这些特征,因此,它和人类文明及社会发展的各个阶段都有密切的联系。 与其他学科一样,生物医学受到信息科学及技术的影响,进而相互渗透,融合。由此产生的对生物和医学学科发展的促进作用也是显而易见的:例如,X射线早在1895年已被发现,然而,只有在计算机技术快速发展和图像重建及处理方法得以实现的基础上,G.N.Hounsfield和A.M.Cormack才发明了X射线计算机断层扫描成像技术(XCT)并应用于医学。 图像重建方法包括二维平行光束和扇形束成像,三位平行线,平行面以及锥形束成像。我们所用到的傅立叶变换就属于二维平行光束成像。一般地说,人眼所能看到的实物就是处于一个相对的空间参考系中,而在空间域中的图像就是对物体光反射特性的一种具体表现。因此,在空间域中定义的图像,其像素的坐标值确定了该像素的相对空间位置,图像中各像素的灰度值反映了物体在该点的光反射特性。正式由于图像的空间域定义直接反也容易让人接受。 但是,有时为了使某种处理或运算更为简便或快速,或者为了更明显的表现图像的另一些特征也可以在其他域中来描述和处理图像,广义地将其称为变换域(transformdomain).比如,刚获得的图像有很多噪音。这主要由于平时的工作和环境引起的,图像增强是减弱噪音,增强对比度。想得到比较干净清晰的图像并不是容易的事情。因此,可以通过在频域内对图像进行滤波来取出噪音。 2摘要 本次设计主要实现图像的频域理想低通滤波,理想高通滤波和巴特沃斯低通滤波。通过对理想低通滤波器,理想高通滤波器和巴特沃斯低通滤波器的设计,对图像进行变换,实现对图像的滤波,从而更加方便快捷的得到需要的图像。 3关键字 低通,高通,巴特沃斯,频域,滤波

图像频率域低通滤波处理程序设计

专业综合课程设计任务书 学生姓名:陈德松专业班级:电信 0901班指导教师:黄朝兵工作单位:信息工程学院 题目:图像频率域低通滤波处理程序设计 初始条件: (1)提供实验机房及其matlab软件; (2)数字图像处理的基本理论学习。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)掌握频率域处理的基本原理,利用matlab设计程序完成以下功能; (2)选择一幅256级的灰度图像; (3)对该图像作Fourier变换,得到其频谱图像; (4)按照二阶Butterworth低通滤波器的表达式设计传递函数,对该频谱图像进行低通滤波,对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图;(5)按照高斯低通滤波器的表达式设计传递函数,对该频谱图像进行低通滤波,对滤波后的频谱图像作逆Fourier变换得到滤波结果,显示结果图; (6)对二种滤波器的滤波结果进行分析比较; (7)要求阅读相关参考文献不少于5篇; (8)根据课程设计有关规范,按时、独立完成课程设计说明书。 时间安排: (1) 布置课程设计任务,查阅资料,确定方案四天; (2) 进行编程设计一周; (3) 完成课程设计报告书三天; 指导教师签名:年月日系主任(或责任教师)签名:年月日

目录 摘要 ............................................................................................................................................... I 1 MATLAB的简介 (1) 2 原理与实现 (2) 2.1频率域增强基本理论 (2) 2.2 傅立叶变换 (3) 2.3频率域巴特沃兹(Butterworth)低通滤波器 (4) 2.4频率域高斯(Gaussian)低通滤波器 (6) 3 程序设计 (7) 3.1算法设计(程序设计流程图) (7) 3.2 对灰度图像进行Fourier变换的程序 (7) 3.3 二阶巴特沃斯(Butterworth)低通滤波程序 (8) 3.4 高斯(Gaussian)低通滤波程序 (9) 4结果与分析 (11) 4.1选择一幅256级的灰度图像 (11) 4.2 对灰度图像进行Fourier变换后的频谱图 (13) 4.3 二阶巴特沃斯(Butterworth)低通滤波结果与分析 (14) 4.4 高斯(Gaussian)低通滤波结果与分析 (17) 4.5两种滤波器的滤波结果的比较 (20) 5 心得体会 (21) 参考文献 (22)

实验三 数字图像的空间域滤波

实验三、四数字图像得空间域滤波与频域滤波 1.实验目得 1.掌握图像滤波得基本定义及目得。 2.理解空间域滤波得基本原理及方法。 3.掌握进行图像得空域滤波得方法。 4.掌握傅立叶变换及逆变换得基本原理方法。 5.理解频域滤波得基本原理及方法。 6.掌握进行图像得频域滤波得方法。 2.实验基本原理 1.空间域增强 空间域滤波就是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素得取值都就是根据模板对输入像素相应领域内得像素值进行计算得到得。空域滤波基本上就是让图像在频域空间内某个范围得分量受到抑制,同时保证其她分量不变,从而改变输出图像得频率分布,达到增强图像得目得。 空域滤波一般分为线性滤波与非线性滤波两类。线性滤波器得设计常基于对傅立叶变换得分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为平滑滤波器与锐化滤波器。平滑可用低通来实现,平滑得目得可分为两类:一类就是模糊,目得就是在提取较大得目标前去除太小得细节或将目标内得小肩端连接起来;另一类就是消除噪 声。锐化可用高通滤波来实现,锐化得目得就是为了增强被模糊得细节。结合这两种分类方法, 可将空间滤波增强分为四类: 线性平滑滤波器(低通) 非线性平滑滤波器(低通) 线性锐化滤波器(高通) 非线性锐化滤波器(高通) 空间滤波器都就是基于模板卷积,其主要工作步骤就是: 1)将模板在图中移动,并将模板中心与图中某个像素位置重合; 2)将模板上得系数与模板下对应得像素相乘; 3)将所有乘积相加; 4)将与(模板得输出响应)赋给图中对应模板中心位置得像素。 2.平滑滤波器 1)线性平滑滤波器 线性低通平滑滤波器也称为均值滤波器,这种滤波器得所有系数都就是正数,对3×3 得模板来说,最简单得就是取所有系数为1,为了保持输出图像任然在原来图像得灰度值范围内,模板与象素邻域得乘积都要除以9。 MATLAB 提供了fspecial 函数生成滤波时所用得模板,并提供filter2 函数用指定得滤 波器模板对图像进行运算。函数fspecial 得语法格式为: h=fspecial(type);

实验二 数字图像的空间域滤波和频域滤波

实验二数字图像的空间域滤波和频域滤波 一.实验目的 1.掌握图像滤波的基本定义及目的; 2.理解空间域滤波的基本原理及方法; 3.掌握进行图像的空域滤波的方法。 4.掌握傅立叶变换及逆变换的基本原理方法; 5.理解频域滤波的基本原理及方法; 6.掌握进行图像的频域滤波的方法。 二.实验内容 1.平滑空间滤波: a)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪 声后并与前一张图显示在同一图像窗口中;(提示:imnoise) b)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同 模板所形成的效果,要求在同一窗口中显示;(提示:fspecial、 imfilter或filter2) c)使用函数imfilter时,分别采用不同的填充方法(或边界选项, 如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波, 显示处理后的图像 d)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤 波,查看其特点,显示均值处理后的图像;(提示:利用fspecial函 数的’average’类型生成均值滤波器) e)对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有 噪声的图像做处理,要求在同一窗口中显示结果。(提 示:medfilt2) f)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处 理后的图像; 2.锐化空间滤波 a)读出blurry_moon.tif这幅图像,采用3×3的拉普拉斯算子w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波; b)编写函数w = genlaplacian(n),自动产生任一奇数尺寸n的拉普 拉斯算子,如5×5的拉普拉斯算子 w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] c)分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对

数字图像处理实验报告之数字图像的空间域滤波

数字图像处理实验报告 学院: 班级: 学号: 时间:2012.11.29

实验三:数字图像的空间域滤波——锐化滤波 1.实验目的 1.掌握图像滤波的基本定义及目的。 2.理解空间域滤波的基本原理及方法。 3.掌握进行图像的空域滤波的方法。 2.实验基本原理 1.空间域增强 空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。 空域滤波一般分为线性滤波和非线性滤波两类。线性滤波器的设计常基于对傅立叶变换 的分析,非线性空域滤波器则一般直接对领域进行操作。各种空域滤波器根据功能主要分为 平滑滤波器和锐化滤波器。平滑可用低通来实现,平滑的目的可分为两类:一类是模糊,目 的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;另一类是消除噪 声。锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。结合这两种分类方法, 可将空间滤波增强分为四类: 线性平滑滤波器(低通) 非线性平滑滤波器(低通) 线性锐化滤波器(高通) 非线性锐化滤波器(高通) 空间滤波器都是基于模板卷积,其主要工作步骤是: 1)将模板在图中移动,并将模板中心与图中某个像素位置重合; 2)将模板上的系数与模板下对应的像素相乘; 3)将所有乘积相加; 4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。 2.锐化滤波器 图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利 用图像锐化技术,使图像的边缘变得清晰。 1)线性锐化滤波器 线性高通滤波器是最常用的线性锐化滤波器。这种滤波器的中心系数都是正的,而周围 的系数都是负的,所有的系数之和为0。 对3×3 的模板来说,典型的系数取值为: [-1 -1 -1; -1 8 -1; -1 -1 -1] 事实上这是拉普拉斯算子。语句h=-fspecial(‘laplacian’,0.5)得到的拉普拉斯算子为: h =-0.3333 -0.3333 -0.3333 -0.3333 2.6667 -0.3333 -0.3333 -0.3333 -0.3333 2)非线性锐化滤波 邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。图像处理中 最常用的微分方法是利用梯度。常用的空域非线性锐化滤波微分算子有sobel 算子、prewitt 算子、log 算子等。3.实验内容与要求

实验三 图像频域低通滤波

数字图像处理实验报告 姓名:田蕾 学号:20091202098 专业:信号与信息处理 年级:09 实验三 图像频域低通滤波 一、 实验目的 掌握常用频域低通滤波器的设计。 进一步加深理解和掌握图像频谱的特点和频域低通滤波的原理。理解图像低通滤波的处理过程和特点。 二、 实验内容 设计程序,分别实现截止频率半径分别为5、15、30、80理想低通滤波器、二阶巴特沃斯低通滤波器、二阶高斯低通滤波器对图像的滤波处理。观察处理前后图像效果,分析实验结果和算法特点。 三、 实验原理 二维理想低通滤波器的传递函数为: 001.(,)(,)0.(,)D u v D H u v D u v D ≤?=?>? D0是指定非负数值,D (u ,v )是(u ,v )点距频率中心的距离。如果要研究的图像尺寸为M X N ,则它的变换也有相同的尺寸。在半径为D0的圆内,所有频率无衰减地通过滤波器,而在此半径之外的所有频率完全被衰减掉。 巴特沃斯高通滤波器的传递函数为: 20 1(,)(,)1[]n H u v D u v D =+ 式中D0为截止频率距远点距离。一阶巴特沃斯滤波器没有振铃。在二阶中振铃通常很微小,但在阶数增高时振铃便成为一个重要因素。 高斯高通滤波器传递函数为: 220 (,)/2(,)D u v D H u v e -= D (u ,v )是距傅立叶变换中心原点的距离。D0是截止频率。高斯低通滤波器的傅立叶变换也是高斯的。 四、 算法设计(含程序设计流程图)

五、 实验结果及分析(需要给出原始图像和处理后的图像) 原图 I L P F 滤波(d0=5) ILPF 滤波(d0=15) I L P F 滤波(d0=30) ILPF 滤波(d0=80) 原图

相关主题
文本预览
相关文档 最新文档