内蒙古工业大学数字图像处理.doc

上传人:b****2 文档编号:1642468 上传时间:2022-10-23 格式:DOC 页数:21 大小:1.58MB
下载 相关 举报
内蒙古工业大学数字图像处理.doc_第1页
第1页 / 共21页
内蒙古工业大学数字图像处理.doc_第2页
第2页 / 共21页
内蒙古工业大学数字图像处理.doc_第3页
第3页 / 共21页
内蒙古工业大学数字图像处理.doc_第4页
第4页 / 共21页
内蒙古工业大学数字图像处理.doc_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

内蒙古工业大学数字图像处理.doc

《内蒙古工业大学数字图像处理.doc》由会员分享,可在线阅读,更多相关《内蒙古工业大学数字图像处理.doc(21页珍藏版)》请在冰豆网上搜索。

内蒙古工业大学数字图像处理.doc

学校代码:

10128

学号:

201220203053

数字图像处理课程设计

题目:

数字图像处理及算术编码(或DCT压缩编码)仿真实现

学生姓名:

陈浩

学院:

信息工程学院

系别:

电子信息工程系

专业:

电子信息工程

班级:

电子12-2

指导教师:

吕方黎玉玲

2015年12月28日

数字图像处理课程设计

1、课程设计目的

通过本课程设计使学生了解数字图像的基本概念,掌握数字图像处理的基本内容,如图像点运算、几何变换、增强处理、图像复原、边缘检测以及图像压缩等的基本原理和Matlab实现方法。

通过本次课程设计,让学生掌握如何学习一门语言,如何进行资料查阅搜集,如何自己解决问题等方法,养成良好的学习习惯。

扩展理论知识,培养学生的综合设计能力。

2、课程设计内容

2.1图像处理基本功能

1)数字图像的变换:

普通傅里叶变换(ft)与逆变换(ift)、快速傅里叶变换(fft)与逆变换(ifft)、离散余弦变换(DCT),小波变换。

2)数字图像直方图的统计及绘制等;

2.2图像处理综合功能

1)图像平滑算法程序设计:

2)DCT压缩(保留不同系数),要求显示原图像、压缩后图像的文件大小、压缩比或算术编码压缩

3、课程设计的一般步骤

1)选题与搜集资料:

选择课题,进行系统调查,搜集资料。

2)分析与设计:

根据搜集的资料,进行功能分析,并对系统功能与模块划分等设计。

3)程序设计:

运用掌握的语言,编写程序,实现所设计的功能。

4)调试与测试:

自行调试程序,同学之间交叉测试程序,并记录测试情况。

5)验收与评分:

指导教师对每个成员开发的程序进行综合验收,结合设计报告,根据课程设计成绩的评定方法,评出成绩。

1.普通傅里叶变换(ft)与逆变换(ift)

傅里叶变换是一个非常复杂的理论,我们在图像处理中集中关注于其傅里叶离散变换离散傅立叶变换(DiscreteFourierTransform)。

图象是由灰度(RGB)组成的二维离散数据矩阵,则对它进行傅立叶变换是离散的傅立叶变换。

对图像数据f(x,y)(x=0,1,…,M-1;y=0,1,…,N-1)。

则其离散傅立叶变换定义可表示为:

式中,u=0,1,…,M-1;v=0,1,…,N-1

其逆变换为

式中,x=0,1,…,M-1;y=0,1,…,N-1

程序如下:

t=imread('D:

\chenhao.jpg');

t=rgb2gray(t);

figure,subplot(2,1,1)

imshow(t);

title('原灰度图象');

[m,n]=size(t);

M=zeros(m,m);

N=zeros(n,n);

fori=1:

m

fork=1:

m

M(i,k)=exp(2*pi*i*k*(-j)/m);

end

end

fork=1:

n

fori=1:

n

N(k,i)=exp(2*pi*i*k*(-j)/n);

end

end

t=double(t);

T=M*t*N;

Ni=N';

Mi=M';

Ti=Mi*T*Ni/(m*n);

subplot(2,2,3),imshow(uint8(T))

title('傅里叶变换频谱');

subplot(2,2,4),imshow(uint8(Ti));

title('傅里叶逆变换图像');

图像如下:

2.快速傅里叶变换(fft)与逆变换(ifft)

可分离性的优点是二维的傅立叶变换或逆变换由两个连续的一维傅立叶变换变换来实现,对于一个影像f(x,y),可以先沿着其每一列求一维傅立叶变换,再对其每一行再求一维变换。

正变换

逆变换

由于二维的傅立叶变换具有可分离性,故只讨论一维快速傅立叶变换。

正变换

逆变换

由于计算机进行运算的时间主要取决于所用的乘法的次数。

按照上式进行一维离散由空间域向频率域傅立叶变换时,对于N个F(u)值,中的每一个都要进行N次运算,运算时间与N2成正比。

程序如下:

I=imread('D:

/chenhao.jpg');

subplot(1,2,1),imshow(I);

title('原始图像');

f=rgb2gray(I);

F1=fft2(f);

subplot(1,2,2),imshow(F1);

title('二维离散傅里叶变换后的频谱');

figure,subplot(2,2,1),imshow(log(abs(F1)+1),[010]);

title('图像的频谱图');

F2=fftshift(F1);

subplot(2,2,2),imshow(log(abs(F2)+1),[010]);

title('中心化的频谱图');

F3=ifft2(F1);

subplot(2,2,3),imshow(uint8(F3));

title('傅立叶逆变换');

subplot(2,2,4),imshow(f);

title('灰度图像');

图像如下:

3.离散余弦变换(DCT)

离散形式

式中,

逆变换

在MATLAB中,采用dct2和idct2分别进行二维DCT变换和二维DCT逆变换。

二维DCT常用于信号和图像处理,典型应用是对静止图像和运动图像进行性能优良的有损数据压缩。

在静止图像编码标准JPEG、运动图像编码标准MJPEG和MPEG等标准中都使用了8*8块的离散余弦变换,并将结果进行量化之后进行熵编码。

DCT具有很强的能量集中在频谱的低频部分的特性,而且当信号具有接近马尔科夫过程(Markovprocesses)的统计特性时,DCT的去相关性接近于具有最优去相关性的K-L变换(Karhunen-Loeve变换)的性能。

另外,改进的离散余弦变换(ModifiedDiscreteCosineTransform,MDCT)对交叠的数据进行DCT,有助于避免由于区块边界所产生的多余数据,被用在高级音频编码(AdvancedAudioCoding,AAC)、OggVorbis、AC—3和MP3音频压缩中。

程序如下:

RGB=imread('D:

/chenhao.jpg');

I=rgb2gray(RGB);

subplot(2,2,1),imshow(RGB);

title('原始图像');

C1=dct2(I);

subplot(2,2,2),imshow(log(abs(C1)),[]),colormap(jet(64)),colorbar

title('图像大部分能量集中在上左角');

C2=fftshift(C1);

subplot(2,2,3),imshow(log(abs(C2))+1,[010]);

title('DCT系数');

C3=idct2(C1);

subplot(2,2,4),imshow(uint8(C3));

title('灰度图像');

图像如下:

4.小波变换

离散形式

式中,和分别函数在轴上的,平移量。

逆变换

类似地,可以定义二维离散小波变换逼近,并采用Mallat二维快速算法求解。

与DFT类似,可分离二维小波变换最终可转换为两次一维小波变换。

对图像进行小波变换的MATLAB常用函数有:

①对图像进行一层二维小波分解,常见形式为:

[CA,CH,CV,CD]=dwt2(X,’wname’)

式中,X为图像矩阵;’wname’是使用的小波基函数名称,如可选择双正交样条小波基函数,形式为biorNr.Nd。

②查询使用的小波基函数的信息,使用形式为:

Waveinfo(‘wname’)

式中,小波基名称’wname’可选用’haar’(哈尔小波)、’db’(Daubechies小波)、’bior’(双正交样条小波)等。

例如,在命令行状态下键入wavainfo(‘bior’)进行查询双正交样条小波,可知r表示reconstruction(重建),d表示decomposition(分解),N表示相应FIR滤波器的阶数;CA、CH、CV、CD分别是输入矩阵X小波分解的近似系数矩阵、水平细节系数、垂直细节系数和对角线细节系数。

③对二维小波分解的图像进行各种分量的重构,常见函数形式为:

Y=upcoef2(O,X,’wname’,N)

式中,X是分解后的细节信号,Y是重构的细节信号分量;N表示对矩阵X的系数进行重建的步骤数,即重构的层数,默认值为1。

O是细节信号的类型。

如果O=’a’,则表示对信号的近似系数进行重建;否则,如果O=’h’、’v’或’d’,则分别对水平、垂直或对角线细节进行重建。

④对应上述的一层二维小波变换DWT2函数,进行一层二维小波变换逆变换,常见形式为:

X=idwt2(CA,CH,CV,CD,’wname’)

idwt2函数采用’wname’所指示的小波、已重建的基于近似矩阵CA,以及水平细节CH、垂直细节CV和对角线细节CD计算原图像矩阵X。

⑤对重构的图像进行量化编码,常见函数形式为:

Y=wcodemat(X,NBCODES,OPT,ABSOL)

式中,X为待进行量化编码的矩阵,Y为编码矩阵。

在编码中,把矩阵X中元素绝对值最大的作为NBCODES(整数),绝对值最小的作为1,其他元素依其绝对值的大小在1与NBCODES中排列。

当OPT为’row’时,做行编码;当OPT为’col’时,做列编码;当OPT为’mat’时,做全局编码,即把整个矩阵中元素绝对值最大的元素作为NBCODES,最小的作为1.当ABSOL为0时,该函数返回输入矩阵X的一个编码版本,当ABSOL非0时,返回X的绝对值。

程序如下:

A=imread('jpg.jpg');

B=rgb2gray(A);

[C,S]=wavedec2(B,2,'bior3.7');

cA2=appcoef2(C,S,'bior3.7',2);

cA1=appcoef2(C,S,'bior3.7',1);

[cH1,cV1,cD1]=detcoef2('all',C,S,1);

A1=wrcoef2('a',C,S,'bior3.7',1);

A2=wrcoef2('a',C,S,'bior3.7',1);

H1=wrcoef2('h',C,S,'bior3.7',1);

V1=wrcoef2('v',C,S,'bior3.7',1);

D1=wrcoef2('d',C,S,'bior3.7',1);

C1=[A1,H1;V1,D1];

subplot(221);imshow(uint8(B));title('原图');

subplot(222);imshow(uint8(C1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1