数字图像处理实验.pdf_第1页
数字图像处理实验.pdf_第2页
数字图像处理实验.pdf_第3页
数字图像处理实验.pdf_第4页
数字图像处理实验.pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字图像处理 数字图像处理 实验指导书 实验指导书 武汉理工大学信息工程学院武汉理工大学信息工程学院 2009 年年 本课程安排如下 4 次实验 实验 1 图像文件类型转换 实验 2 图像变换 实验 3 图像增强 实验 4 图像滤波和边缘检测 实验实验 1 图像文件类型转换图像文件类型转换 实验目的 实验目的 理解数字图像文件的几种基本类型 掌握在 MATLAB 中进行图象文件类型转换的方法 观察图象转换前后的效果 加深对图象文件类型的理解 熟悉图象格式 颜色系统间的转换 实验内容 实验内容 1 灰度图像与索引图像的相互转换 2 RGB 图像与索引图像的相互转换 3 将图像转换为二值化图像 实验方法 利用实验方法 利用 MATLAB 工具进行实验工具进行实验 一 灰度图像到索引图像的转换一 灰度图像到索引图像的转换 启动启动 MATLAB 新建一个自己的工作文件夹 如下图中的 新建一个自己的工作文件夹 如下图中的 MYFIG 并把它设 置在当前的工作路径 并把它设 置在当前的工作路径 Current Directory 下 下 1 在该文件夹中拷入个灰度图片 比如 2 jpg 文件 2 在 MATLAB 命令输入窗中 调用函数 info imfinfo 2 jpg 观查 2 jpg 是否为灰度图像 在 ColorType grayscale 属性行如此显示 则说明以 2 jpg 命名的文件为灰度图像 3 输入如下命令完成转换 RGB imread 2 jpg 将图像 2 jpg 的数据赋给变量 RGB figure 3 设定显示窗口 3 imshow RGB 显示原 2 jpg 文件 figure 1 设定显示窗口 1 RGB1 map1 gray2ind RGB 128 指定灰度级 128 进行灰度图像到索引图像灰度图像到索引图像转换 imshow RGB1 map1 显示索引图像索引图像 1 figure 2 设定显示窗口 2 RGB2 map2 gray2ind RGB 16 指定灰度级 16 进行灰度图像到索引图像灰度图像到索引图像转换 imshow RGB2 map2 显示索引图像索引图像 2 imwrite RGB1 map1 3 bmp 将索引图像 1 保存为名为 3 bmp 的文件 imwrite RGB2 map2 4 bmp 将索引图像 2 保存为名为 4 bmp 的文件 运行并观察结果和现象 4 最后再调用函数 info imfinfo 3 bmp 观查 3 bmp 4 bmp 和是否为索引图像 在 ColorType indexed 属性行如此显示 则说明以 3 bmp 或 4 bmp 命名的文件为索引图像 5 自己仿照以上操作完成索引图像到灰度图像的转换索引图像到灰度图像的转换 索引图像到灰度图像的转换的语句格式为 I ind2gray X MAP 二 二 RGB 图像到索引图像的转换图像到索引图像的转换 启动启动 MATLAB 设置当前的工作路径 设置当前的工作路径 1 在当前工作文件夹中拷入个 RGB 图片 比如 1 jpg 文件 2 在 MATLAB 命令输入窗中 调用函数 info imfinfo 1 jpg 观查 1 jpg 是否为 RGB 图像 ColorType truecolor RGB 图像 3 输入如下命令完成转换 RGB imread 1 jpg 将图像 1 jpg 的数据赋给变量 RGB figure 1 设定显示窗口 1 imshow RGB 显示原 1 jpg 文件 figure 2 设定显示窗口 2 y rgb2ind RGB 256 包含 256 色 进行 RGB 图像到索引图像的转换图像到索引图像的转换 imwrite y 1s bmp 将索引图像保存到名为 1s bmp 的文件中 imshow y 显示索引图像索引图像 运行并观察结果和现象 4 最后再调用函数 info imfinfo 1s bmp 观查 1s bmp 是否为索引图像 在 ColorType indexed 属性行如此显示 则说明以 1s bmp 命名的文件为索引图像 5 自己仿照以上操作完成索引图像到索引图像到 RGB 图像的转换图像的转换 索引图像到 RGB 图像图像转换的语句格式为 RGB ind2rgb X MAP 三 三 RGB 图像到二值图像的转换图像到二值图像的转换 启动启动 MATLAB 设置当前的工作路径 设置当前的工作路径 1 将一个 RGB 图片 如 1 jpg 变换成二值图像 2 输入如下命令完成转换 RGB imread 1 jpg 将图像 1 jpg 的数据赋给变量 RGB figure 3 设定显示窗口 3 imshow RGB 显示原 1 jpg 文件 bw1 im2bw RGB 0 5 阀值为 0 5 进行二值转换 bw2 im2bw RGB 0 6 阀值为 0 6 进行二值转换 figure 1 设定显示窗口 1 imshow bw1 显示索引图像索引图像 bw1 figure 2 设定显示窗口 2 imshow bw2 显示索引图像索引图像 bw2 运行并观察结果和现象 3 其他格式文件转换为二值图像 请自己编写程序完成 四 实验报告要求 四 实验报告要求 有实验目的 实验内容 实验过程 实验小结 有较详细的图文说明 不得抄袭他人作业不得抄袭他人作业 实验实验 2 图像变换图像变换 实验目的 实验目的 掌握图像变换的方法 观察图象变换的效果 熟悉图像傅立叶变换傅立叶变换 实验内容 实验内容 快速卷积实验 对图像进行傅立叶变换 实验方法 实验方法 利用 MATLAB 图像处理工具箱进行实验 一 傅立叶变换实验一 傅立叶变换实验 1 理论基础 在图像处理的广泛应用领域中 傅立叶变换起着非常重要的作用 具体表现在图像分析 图像增强和图像压缩方面 设 nmf是个离散空间中的二维函数 则该函数的二维傅立叶变换的定义如下 mn njnj dmdneenmfF 21 21 其中 21 是频谱变量 单位是弧度 采样单元 周期都是 2 二维傅立叶反变换的定义如下 2121 21 12 ddeeFnmf njnj 利用计算机进行傅立叶变换的通常形式为离散傅立叶变换 采用这种形式的傅立叶变换 主要是由于 离散傅立叶变换的输入输出都是离散值 适合用计算机运算操作 并且可以提高 运算速度 离散傅立叶变换的定义如下 1 0 1 0 2exp 1 N y M x NvyMuxjyxf MN vuF 二维傅立叶反变换公式如下 1 0 1 0 2exp N v M u NvyMuxjvuFyxf 其中1 1 0 1 1 0 NyMx 通常情况下 数字图像处理用像素方阵表示 即 M N 此时二维傅立叶变换可简化为 1 1 0 2exp 1 1 0 1 0 2 NyxNvyuxjyxf N vuF N y N x 1 0 1 0 1 1 0 2exp N v N u NvuNvyuxjvuFyxf 2 MATLAB 中提供的变换函数 1 fft2 用于计算二维快速傅立叶变换 语句格式 B fft2 I m n 按指定的点数计算 m 返回矩阵 B 的大小为 m n 不写默认为原图像大小 2 fftn 用于计算 n 维快速傅立叶变换 3 fftshift 用于将变换后的图像频谱中心从矩阵的原点移到矩阵地中心 语法格式 B fftshift I 4 ifft2 用于计算图像的二维傅立叶反变换 语法格式 B ifft2 i 5 ifftn 用于计算 n 维傅立叶变换 3 快速卷积实验 傅立叶变换一个重要特性是可以实现快速卷积 设 A 为 M N 矩阵 B 为 P Q 的矩阵 快速卷积方法如下 对 A 和 B 补 0 使其大小都为 M P 1 N Q 1 利用 fft2 对矩阵 A 和 B 进行二维变换 将两个 FFT 结果相乘 利用 ifft2 对得到的乘积进行傅立叶反变换 设 A 为 M N 矩阵 B 为 P Q 的矩阵 快速卷积方法如下 对 A 和 B 补 0 使其大小都为 M P 1 N Q 1 利用 fft2 对矩阵 A 和 B 进行二维变换 将两个 FFT 结果相乘 利用 ifft2 对得到的乘积进行傅立叶反变换 现在令 A magic 3 B ones 3 请按上述步骤自行完成实验 参考如下 启动 MATLAB 在命令窗口中输入 A magic 3 B ones 3 A 8 8 0 B 8 8 0 C ifft2 fft2 A fft2 B C C 1 5 1 5 C real C 1 观察运行结果 并记录 2 调用 MATLAB 提供的卷积函数 conv2 进行验证 对比结果是否正确 C conv2 A B C C 1 5 1 5 运行并对比记录结果 4 图像的二维傅立叶变换实验 对一副灰度图片进行二维傅立叶变换 并且显示其幅度值 1 启动 MATLAB 设置当前工作路径 2 在当前路径下的文件夹中拷入个灰度图片 比如 ex2 jpg 文件 3 输入如下命令 完成实验 figure 1 RGB imread ex2 jpg imshow RGB figure 2 B fftshift fft2 RGB imshow log abs B colormap jet 64 colorbar 4 观察结果 并记录 二 实验报告要求 二 实验报告要求 1 有实验目的 实验内容 实验过程 实验小结 有较详细的图文说明 不得抄袭他人作 业 2 并独立完成以下实验 创建一副图像 大小为 128 128 背景为黑色 中间开出一个 8 8 白色的窗口 运用 ff2 函数 对上面产生的图像做二维离散傅立叶变换 实验 3 图像增强 实验 3 图像增强 实验目的 实验目的 掌握图像增强的方法 掌握如何用 matlab 工具实现图像增强 实验内容 实验内容 用 matlab 工具实现图像空间域和频率域增强 观察图像增强的效果 并对结果进行 分析 实验方法 实验方法 用 Matlab 编程实现 一 空间域变换增强 增强对比度一 空间域变换增强 增强对比度 增强对比度实际是增强原图像的各部分的反差 实际中往往是通过改变原图中某两个灰 度值之间的动态范围来实现的 如图 1 图 1 增强对比度 从图 1 中可以看出 通过变换可以使原图的较高的和较低的灰度值的动态范围减小了 而原图在二者之间的动态范围增加了 从而其范围的对比度增加了 利用 MATLAB 图像处理工具箱进行实验 参考的 MATLAB 代码所示 X1 imread image tif figure imshow X1 f0 0 g0 0 f1 70 g1 30 f2 180 g2 230 f3 255 g3 255 r1 g1 g0 f1 f0 b1 g0 r1 f0 r2 g2 g1 f2 f1 b2 g1 r2 f1 r3 g3 g2 f3 f2 b3 g2 r3 f2 m n size X1 X2 double X1 for i 1 m for j 1 n f X2 i j g i j 0 if f 0 end end end figure imshow mat2gray g 选择一幅灰度级比较狭窄的图像 设计一个灰度变换函数 参考上述程序对其进行灰度 变换 显示变换前后的效果 并进行分析 二 频率域图像增强二 频率域图像增强 1 基本原理基本原理 卷积理论是频域技术的基础 设函数 f x y 与线性位不变算子 h x y 的卷积结果 是 g x y 即 g x y h x y f x y 那么根据卷积定理在频域有 G x y H u v F u v 其中 G x y H u v F u v 分别是 g x y h x y f x y 的傅立叶变换 频域滤波增强的主要步骤是 1 对图像的进行傅立叶变换 2 将其与一个 根据需要设计的 转移函数相乘 3 再将结果进行傅立叶反变换以得到增强的图像 频域增强的两个关键步骤 1 将图像从空域转换到频域所需的变换及将图像从频域空间转换回空域所需的变换 2 在频域空间对图像进行滤波增强的加工操作 2 低通滤波低通滤波 图像的能量大部分集中在幅度谱的低频和中频度 而图像的边缘和噪声对应于高频部 分 因此能降低高频成分幅度的滤波器就能减弱噪声的影响 Butterworth 低通滤波器是一种物理上可以实现的低通滤波器 n 阶 截断频率为 d0 的 Butterworth 低通滤波器的转移函数为 H u v n d 2 0 vud 1 1 用 MATLAB 实现 Butterworth 低通滤波器的参考代码如下所示 I1 imread lena bmp figure imshow I1 I2 imnoise I1 salt figure imshow I2 f double I2 g fft2 f g fftshift g N1 N2 size g n 2 d0 50 n1 fix N1 2 n2 fix N2 2 for i 1 N1 for j 1 N2 d sqrt i n1 2 j n2 2 h 1 1 d d0 2 n result i j h g i j end end result ifftshift result X2 ifft2 result X3 uint8 real X2 figure imshow X3 选择一幅灰度图像 对其加入噪声后 利用频域方法对其进行滤波 先对加噪声后的图 像进行 Fourier 变换 设计一个滤波传递函数 参考上述程序对其进行滤波 再作逆变换 显示处理前后的效果 并进行分析 三 实验结果与分析三 实验结果与分析 得到程序的运行结果 并对结果进行分析 四 思考题四 思考题 1 对参考程序给出功能注释 2 实现图像的高斯 指数低通滤波和 Butterworth 高斯 指数高通滤波处理 五 实验报告要求 五 实验报告要求 有实验目的 实验内容 实验过程 实验小结 有较详细的图文说明 不得抄袭他人作业不得抄袭他人作业 实验 4 数字图像滤波及边缘检测实验 4 数字图像滤波及边缘检测 实验目的 实验目的 1 综合运用图像处理的基本原理方法 解决实际问题 2 学会使用 Matlab 中值滤波函数和图像处理并了解适用范围 3 了解函数 imnoise 的基本功能和输入参数的特点 4 掌握线性平滑滤波器和非线性平滑滤波器 中值滤波 的性能 5 掌握图象边缘检测的基本算法 实验内容 实验内容 平滑滤波 中值滤波 边缘检测 实验方法 实验方法 利用 MATLAB 图像处理工具箱进行实验 一 图象平滑滤波一 图象平滑滤波 属于低通滤波器 可滤除掉灰度值具有较大较快变化的部分属于低通滤波器 可滤除掉灰度值具有较大较快变化的部分 模拟噪声生成函数模拟噪声生成函数 imnoise 它可以对图像添加一些典型噪声它可以对图像添加一些典型噪声 语法格式 J imnoise I type type 为噪声类型 如高斯噪声 gaussian 1 均值滤波 线性滤波 均值滤波 线性滤波 1 在当前工作文件夹中拷入个图片 比如 3 2 jpg 文件 2 输入如下命令完成实验 I imread 3 2 jpg I imnoise I gaussian 0 0 02 添加高斯噪声 imshow I h 1 1 1 1 1 1 1 1 1 产生滤波模板 不同模板对应的滤波形 式也不同 h h 9 滤波模板归一化 J conv2 I h 滤波并显示图像 figure imshow J 3 观察并记录结果 4 以上都是用 3 3 的模板对噪声进行滤波 现再自行设计一个 5 5 或 7 7 的模板进行处理 比较不同模板造成的差别 2 中值滤波 非线性滤波 中值滤波 非线性滤波 语法格式 语法格式 B medfilt2 A 用于 3 3 的滤波窗口对图像 A 进行处理 B medfilt2 A m n 用指定大小为 m n 的窗口对图像 A 进行处理 1 输入如下命令完成实验 I imread 3 1 jpg 将图像的数据赋给变量 I J imnoise I gaussian 0 02 加入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论