第二章 数字图像表示及其处理

上传人:ldj****22 文档编号:36028078 上传时间:2018-03-24 格式:PDF 页数:83 大小:2.76MB
返回 下载 相关 举报
第二章 数字图像表示及其处理_第1页
第1页 / 共83页
第二章 数字图像表示及其处理_第2页
第2页 / 共83页
第二章 数字图像表示及其处理_第3页
第3页 / 共83页
第二章 数字图像表示及其处理_第4页
第4页 / 共83页
第二章 数字图像表示及其处理_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《第二章 数字图像表示及其处理》由会员分享,可在线阅读,更多相关《第二章 数字图像表示及其处理(83页珍藏版)》请在金锄头文库上搜索。

1、2.1 简单的图像形成模型 2.2 图像的数字化 2.3 数字图像的基本类型 2.4 数字图像的基本文件格式 2.5 图像变换 2.6 Matlab图像处理工具箱第第2 2章章 数数字字图图像像表表示示及及其其处处理理2.1 简单的图像形成模型一幅图像实际上记录的是物体辐射能量的空间分 布,这个分布是空间坐标、时间和波长的函数,即: I=(x,y,z,t)。 当一幅图像为平面单色静止图像时,空间坐标变量 z ,波长和时间变量t可以从函数中去除,一幅图像可 以用二维函数f(x,y)来表示: f(x,y)=i(x,y)r(x,y) 这里0)之后输 入如下表达式,并按下Enter键即可: A=2 1

2、 -3 -1;3 1 0 7;-1 2 4 -2;1 0 -1 5; B=3 -1 0 4;2 1 5 -2;-1 0 7 5;-4 8 0 1; A*B2.M文件的编程工作方式MATLAB提供了M文件编辑器作为编制和调试M文 件的工作界面。 在MATLAB的运行环境中,用鼠标单击菜单栏上 的Fi1e-open命令,选择M-file项,或 者直接单击工具栏的新建按钮,进入MATLAB 的M文件编辑器。 M文件有两种形式,一种是命令文件(脚本文件 Script-file);另一种是函数文件 (Function-file)。例2:建立命令文件,并绘制宝石项链图。 (1) 进入MATLAB的M文件编

3、辑器 (2) 在编辑器窗口中输入文件内容:t=(0:0.02:2)*pi;%(0:0.02:2)表示(0,2)之间以0.02为 间隔的向量 x=sin(t); y=cos(t); z=cos(2*t); plot3(x,y,z,b-,x,y,z,bd) view(-80,60) box on legend(链子,宝石);(3)单击Fi1e -save命令,将所写文件自动 保存在磁盘目录D:MATLABwork上,并取名 为diamond.m。 (4)在MATLAB命令窗口中直接输入文件名diamond 回车,即可得运行结果。MATLAB和大多数计算机语言一样,提供了设计 程序所必须的程序结构,

4、即顺序结构、循环结 构和分支结构。在MATLAB中,循环结构由for-end循环语句和 while-end循环语句实现,分支结构由if-end 语句和switch-case-end实现。例3:绘制函数的图像。其其程程序序为为: x x= =- -3 3: :0 0. .1 1: :3 3; ; i if fx x = =1 1 y y= =8 8* *x x. . 2 2+ +1 1; ; p pl lo ot t( (x x, ,y y) ) E El ls se e i if f- -1 1 x x y y= =0 0; ; p pl lo ot t( (x x, ,y y) ) e el

5、 ls se e y y= =- -x x. . 3 3; ; p pl lo ot t( (x x, ,y y) ) e en nd d2.6.4 MATLAB图像处理功能 MATLAB丰富的图像处理函数 图 像 文 件 输 入 、 输 出 、 显 示 : imreadimwrite subplot计算图像的傅立叶变换FFT及逆变换IFFT :fft2ifft2计算图像的离散余弦变换DCT及逆变换IDCT:dct2idct2计 算 图 像 的 小 波 变 换 DWT及 逆 变 换 IDWT: dwt2idwt2常用的函数简介 (1) 函数名: uint8 格式: uint8 (A); 功能:

6、将数据A转换为8位无符号整数类型数据 例: watermarked_image_uint8=uint8(watermarked_image _round); (2) 函数名: double 格式: double(A); 功能: 将数据A转换为64位双精度浮点类型数据 例: double(imread(lena.bmp);(3) 函数名: imread 格式:imread(文件名,文件格式) 功能: 读取图像文件数据 例: Z=imread(lena.bmp) 其 功 能 为 将 文 件 格 式 为 bmp的 图 像 文 件 lena.bmp图像数据读取出来,并作为无符号8 位整型数据(unit

7、8)放入二维数组变量Z中。 (4) 函数名: imwrite 格式: imwrite (A,文件名,文件格式) 功能:保存图像文件数据 例: imwrite(ZA,watermarked.bmp,bmp) 其功能为将变量ZA中的图像数据写入文件名为 watermarked.bmp的文件中,保存格式为bmp。(5) 函数名: imshow 格式: imshow(I,LOWHIGH) 功能:显示灰度图像 例: imshow(ZA,) 显示灰度图像ZA,并指定灰度级范围LOWHIGH, 若如不确定数据的范围LOWHIGH,可使用空矢量 作为参数显示图像。 (6) 函数名: subplot 格式: s

8、ubplot (m,n,p) 功能:将一个图形窗口划分为多个显示区域 例: subplot(2,2,1); 将图形窗口划分为22个矩形显示区域,并激活第1 个显示区域。(7) 函数名: fft2 功能:对矩阵A做二维快速傅立叶变换 格式:B=fft2(A,M,N) A表示要变换的矩阵,M和N是可选参数,通过补0元素 或截取多余元素,使A成为mn阶矩阵,然后计算其二 维FFT。B表示变换后得到的二维FFT 系数矩阵。(8) 函数名: fftshift 功能:把傅立叶变换结果中的直流分量移到中间位置 格式:B= fftshift (A) 若A为向量,则fftshift将其左、右半部互换,若A为 矩

9、阵,则交换A的1,3象限和2,4象限。对多维阵列, fftshift对每一维的两个“半空间”进行交换。 fftshift常用于FFT结果的可视化。(9) 函数名: ifft2 功能:对矩阵B做二维快速逆傅立叶逆变换 格式:A=ifft2(B,M,N) B 表示要变换的矩阵,M和N是可选参 数,通过补0元素或截取多余元素,使B 成为mn阶矩阵,然后计算其二维FFT。 A表示经过二维傅立叶逆变换后的系数矩 阵。例4: 计算并显示图像的傅立叶变换FFT及逆变换 IFFT。 I=imread(lena.bmp); subplot(1,3,1), imshow(uint8(I);% 显示 原始图像 J=

10、fft2(I);% 图像FFT变换 B=fftshift(J); subplot(1,3,2),imshow(log(abs(B),);% 显示FFT变换结果 H=ifft2(J); subplot(1,3,3), imshow(uint8(H);%使 用逆变换复原图像并显示结果执行结果:( (a a) ) l le en na a原原图图 ( (b b) )经经过过F FF FT T变变换换后后的的频频谱谱图图像像 ( (c c) )经经I IF FF FT T后后的的图图像像(10) 函数名: dct2 功能:求矩阵A的DCT变换系数 格式:B=dct2(A,M,N) A表示要变换的矩阵,

11、M和N是可选参 数,通过补0元素或截取多余元素,使A 成为mn阶矩阵,然后计算其二维离散 余弦变换。B表示变换后得到的离散余弦 变换系数矩阵。例5:调用dct2函数计算二维图像的DCT系数 并显示结果。 由于离散余弦变换DCT会产生负系数,为 了显示离散余弦变换DCT的系数幅值大 小,可以使用绝对值函数abs(x)。程序 代码如下: I=imread(lena.bmp) ; J=dct2(I);% 计算二维图像的DCT系数 subplot(1,2,1), imshow(uint8(I); subplot(1,2,2), imshow(uint8(abs(J);% 显示二维 图像的DCT系数的大

12、小执行结果:( (a a) )l le en na a原原图图 ( (b b) ) 经经D DC CT T变变换换后后的的图图像像(11) 函数名: idct2功能:计算逆DCT变换 格式:A= idct2(B,M,N) B表示要变换的矩阵,M和N是可选参数, 通过补0元素或截取多余元素,使B成为m n阶矩阵,然后计算其二维离散余弦逆 变换。A表示B经过二维离散余弦逆变换 后得到的系数矩阵。例6:计算并显示图像的离散余弦变换DCT及逆变换 IDCT。 程序代码如下:I=imread(lena.bmp) ; subplot(1,4,1), imshow(uint8(I);)% 显示原始图像 J=

13、dct2(I); %图像DCT变换 K=idct2(J);subplot(1,4,2),imshow(uint8(K);%使用逆变换复 原图像 J(abs(J)10)=0; %将较小的系数设置为0 M=idct2(J);subplot(1,4,3),imshow(uint8(M);%使用逆变换部 分复原图像 J(abs(J)100)=0; %将较小的系数设置为0 N=idct2(J);subplot(1,4,4),imshow(uint8(N);%使用逆变换部 分复原图像(a) lena原图 (b) 经过DCT和IDCT后的图像 (c )=10的重构图像 (d)=100的重构图像原原始始图图像像与与D DC CT T和和I ID DC CT T变变换换后后的的图图像像比比较较(12) 函数名:rand rand函数共8种,与图像处理相关的主要有两 种。因此仅对这两种做一个简要的介绍。 格式:rand( state,J );rand( N,M ) 功能: rand( state,J ) 将随机数生成器设置到第J个状 态,其值可以任意设定。不同的状态J 将生成不 同的随机矩阵,而设定了相同的状态J,就可生 成相同的随机数矩阵。rand( N,M )产生元素值在 (0.0,1.0)内的NM阶均匀分布随机矩阵。 通常rand( state,J )与rand( N,M )联合使用。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号