学校代码: 10128
学号: 200920203066
数字图像处理课程设计
题目:数字图像处理及Huufman(或小波
变换)编码仿真实现
学生姓名:肖文杰
学院:信息工程学院
系别:电子信息工程系
专业:电子信息工程
班级:电子09-1班
指导教师:吕方王红霞
2012 年 12 月 17 日
内蒙古工业大学课程设计(论文)任务书
课程名称:数字图像处理课程设计学院:信息工程班级:电子09-1 ___ 学生姓名:肖文杰 ___ 学号: 200920203066 _ 指导教师:吕芳王红霞
数字图像处理课程设计
1、课程设计的目的与意义
通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容,如图像点运算、几何变换、增强处理、图像复原、边缘检测以及图像压缩等的基本原理和Matlab实现方法。
通过本次课程设计,让学生掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。扩展理论知识,培养学生的综合设计能力。
2、课程设计内容
2.1 图像处理基本功能
1)数字图像的变换:普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换。
2) 数字图像直方图的统计及绘制等;
3)基于Matlab的图像平滑算法实现及应用
2.2 图像处理综合功能
1) 图像复原程序设计
●创建一个仿真运动/均值模糊PSF来模糊一幅图像(图像自选)。
●针对退化设计出复原滤波器,对退化图像进行复原(复原的方法自定)。
●对退化图像进行复原,显示复原前后图像,对复原结果进行分析,并评
价复原算法。
2) 给定a,b,c,d概率,进行huffman编码,要求显示原图像、压缩后图像的
文件大小、压缩比;或采用小波变换进行编码
3、课程设计背景与基本原理
3.1课程设计背景
数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
3.2课程设计基本原理
3.2.1傅里叶变换
傅里叶变换是可分离和正交变换中的一个特例,对图像的傅里叶变换将图像从图像空间变换到频率空间,从而可利用傅里叶频谱特性进行图像处理。从20世纪60年代傅里叶变换的快速算法提出来以后,傅里叶变换在信号处理和图像处理中都得到了广泛的使用。
3.2.2离散余弦变换
离散余弦变换(discrete cosine transform,DCT)是一种可分离和正交变换并且是对称的。它与傅里叶变换也有密切的联系,近年得到了广泛应用,特别是在
图像压缩领域。
1-D 离散余弦变换和其反变换由以下两式定义:
∑-=+=1
0]2)12(cos[
)()()(n x N u x x f u a u C π
u=0,1,...,N-1 ∑-=+=1
]2)12(cos[
)()()(N u N
u x u C u a x f π
x=0,1,...,N-1 其中a(u)为归一化加权系数,由下式定义:
??
?
??-===1
,...,2,1201)(N u N u N
u a
2-Dd DCT 对由下面两式定义:
∑∑-=-=++=101
0]2)12(cos[]2)12(cos[
),()()(),(N x N y N v y N u x y x f v a u a v u C π
π u,v=0,1,...,N-1 ∑∑-=-=++=101
]2)12(cos[]2)12(cos[
),()()(),(N x N y N
v y N u x v u C v a u a y x f π
π x,y=0,1,...,N-1
3.2.3小波变换
小波变换的基础:序列展开、缩放函数和小波函数。
小波变换和Gabor 变换相同的事在时间上和频率上都具有局部化的能力,时间窗口长度与频率窗口长度的乘积是常数。它与Gabor 变换不同的是时间窗口尺寸与频率窗口尺寸互成反变化,对不同的图像都有较好的效果。
2-D 小波变换的实现
因为缩放函数和小波函数都是可分离的,所以可对f(x,y)的行先进行1-D 变换再对结果进行变换。下图是小波变换的方框图:
小波变换的结果是将图像进行了分解,这种分解是从高尺度向低尺度进行的。小波分解的结果是将图像划分成了子图像的集合。在第一级小波分解时,原始图像被划分成了一个低频子图像LL和三个高频子图像HH,LH,和HL的集合。在第二级小波分解时,低频子图像LL继续被划分成了LL的一个低频子图像和三个高频子图像的集合,而原来第一级分解得到的三个高频子图像不变。上述分解过程可以这样继续下去,得到越来越多的子图像。
3.2.4哈夫曼编码
哈夫曼编码是消除编码冗余最常用的技术。当对信源符号逐个编码时,哈夫曼编码能给出最短的码子。根据无失真编码定理哈夫曼编码方式对固定阶数的信源是最优的。
4、源代码及处理结果
4.1图像处理基本功能
普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换;数字图像直方图的统计及绘制等;图像平滑算法实现及应用。
4.1.1正逆傅里叶变换
傅里叶变换和逆变换
clc;
img=imread('D:/xwj1.jpg');
subplot(2,2,1),imshow(img);
title('原图');
f=rgb2gray(img);
subplot(2,2,2),imshow(f);
title('傅里叶变换');
%二维傅里叶变换
F=fft2(f); %======傅里叶变换
FS=fftshift(F);%======将变换的频率图
%频谱
S=log(1+abs(FS));
subplot(2,2,3);imshow(S,[])
title('直接变换频谱图');;
%% 二维傅里叶逆变换
fr=real(ifft2(ifftshift(FS)));%===频域的图反变
ret=im2uint8(mat2gray(fr)); %===取其灰度图
subplot(2,2,4),imshow(ret);
title('逆傅里叶变换');
实验结果:
快速傅里叶变换(fft)与逆变换(ifft) clc;
Y= imread('D:/xwj1.jpg');
length(size(Y))==3
s=rgb2gray(Y);
figure
subplot(221);
imshow(Y);
title('原图');
length(size(Y))==3
s=rgb2gray(Y);
subplot(222);
imshow(s);
title('灰度图');
J=fft2(double(s));%快速傅里叶变换
K=fftshift(fft2(double(s)));
F=ifft2(K);%快速傅里叶变换
subplot(223);
imshow(J);
title('FFT变换结果');
subplot(224);
imshow(abs(F),[]);
title('IFFT变换结果');
实验结果:
离散余弦变换
RGB= imread('D:/xwj1.jpg');
figure;
subplot(221);
imshow(RGB);
title('彩色原图');
a=rgb2gray(RGB);
subplot(222);
imshow(a);
title('灰度图');
subplot(223);
b=dct2(a);
imshow(log(abs(b)),[]),colormap(jet(64)),colorbar; title('DCT变换结果');
subplot(224);
b(abs(b)<10)=0;
% idct
c=idct2(b)/255;
imshow(c);
title('IDCT变换结果')
实验结果:
小波变换
i= imread('D:/xwj1.jpg');
x=rgb2gray(i); %真彩色图像转化为灰度图像
[cA,cH,cV,cD]=dwt2(x,'db1'); %对图像进行单层分解,小波为bd1
A=upcoef2('a',cA,'db1',1);
H=upcoef2('h',cH,'db1',1);
V=upcoef2('v',cV,'db1',1);
D=upcoef2('d',cD,'db1',1); %图像编码
figure(1)
subplot(221);image(wcodemat(A,192));
title('近似细节系数');
subplot(222);image(wcodemat(H,192));
title('水平细节系数');
subplot(223);image(wcodemat(V,192));
title('垂直细节系数');
subplot(224);image(wcodemat(D,192));
title('对角细节系数');
figure(2)
d=idwt2(cA,cH,cV,cD,'db1'); %对分解的细节系数执行单层重构,小波为db1 imshow(d,[]);
实验结果: