已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机体系结构 图像的滤波处理图像的滤波处理 第二次编程练习第二次编程练习 概述 概述 有关程序 有关程序 程序运行的时候先输入 MSE PSNR 的输出文件地址 再输入希望滤波的图 片地址 接着输入原来未污染的图片地址 这时输出受污染的图片与原图的 MSE PSNR 接着选择滤波器类型 输出滤波图片保存位置 同时写入滤波后的 MSE PSNR 这时用户可 以选择重新换一张图片滤波或者对同一张图片进行不同滤波处理 有关报告 有关报告 报告第一部分介绍程序实现的主要功能 第二部分介绍滤波实现理论思路 第三部分对滤波的结果进行量化分析 对提供的 10 张图片分别进行不同窗口大小的均值 中值滤波 改进的自适应中值滤波 以及双边滤波 并对结果分析 计算滤波后的 MSE PSNR 并附表格 第四部分主要是编程的心得体会 一一 主要编程实现的功能主要编程实现的功能 主要对输入的图像进行了基于 3 3 窗口 以及 5 5 窗口的线性均值滤波 基于 3 3 窗口 以及 5 5 窗口的非线性的中值滤波 在提高部分 在线性滤波的基础之上 采用了同时考 虑像素点与中心像素点距离 以及像素值差距的双边滤波器 在非线性的中值滤波器的基 础上 采用了自适应的中值滤波器 也即根据窗口中噪声点的多少自动地调节滤波窗口的 大小 这两种改进的滤波方法都在滤除噪声点的同时保护边缘特性 其中双边滤波器对高 斯噪声的滤波效果较为明显 而自适应的中值滤波器对于椒盐噪声的滤波效果较好 二二 设计思路设计思路 一 对图片进行基本的打开 保存等操作 一 对图片进行基本的打开 保存等操作 在刚开始编程的时候 没有了解到可以调用 opencv 的库函数进行图片的调用 就采取 了直接读取图片的文件头信息头的方式 进行图片的读入以及写入操作 在这个过程中 我也了解到了位图的信息头 文件头 像素点的表达方式 位图文件由三部分组成 文件头 位图信息 位图像素数据 如下为位图文件头的 结构体 typedef struct tagBITMAPFILEHEADER WORD bfType DWORD bfSize WORD bfReserved1 WORD bfReserved2 DWORD bfOffBits BITMAPFILEHEADER 位图信息中所记录的值用于分配内存 设置调色板信息 读取像素值等 如下为位图的 信息结构体 typedef struct tagBITMAPINFO BITMAPINFOHEADER bmiHeader RGBQUAD bmiColors 1 BITMAPINFO 位图信息头包含了单个像素所用字节数以及描述颜色的格式 此外还包括位图的宽度 计算机体系结构 高度 目标设备的位平面数 图像的压缩格式 以下是位图信息头结构的定义 typedef struct tagBITMAPINFOHEADER bmih DWORD biSize LONG biWidth LONG biHeight WORD biPlanes WORD biBitCount DWORD biCompression DWORD biSizeImage LONG biXPelsPerMeter LONG biYPelsPerMeter DWORD biClrUsed DWORD biClrImportant BITMAPINFOHEADER 在实际的操作中 我们可以通过定义位图的信息头 文件头等结构体 通过读入的方式 来引用结构体中像素点的像素值 图片的长度 宽度等 下图为使用读入的方法查看图片 的信息 然而在之后 我了解到可以使用 opencv 的库函数进行操作 就直接使用 cvLoadImage 这个函数进行图片的读入 使用 image imageData 的方式来引用图片的像素点值 从而进 行滤波的操作 二 不同滤波器实现原理 二 不同滤波器实现原理 1 均值滤波器均值滤波器 1 原理 原理 均值滤波也称为线性滤波 其采用的主要方法为邻域平均法 线性滤波的基本原理是 计算机体系结构 用均值代替原图像中的各个像素值 即对待处理的当前像素点 x y 选择一个模板 该 模板由其近邻的若干像素组成 求模板中所有像素的均值 再把该均值赋予当前像素点 x y 作为处理后图像在该点上的灰度值 g x y 即 m 为 1 g x yf x y m 该模板中包含当前像素在内的像素总个数 2 模板采用 均值滤波的时候 采用不同大小的掩膜 不同系数的掩膜 得到的滤波效果会有很大的差 别 根据公式 i j yHX 其中 H 为的掩膜的系数矩阵 X 为以为中心点周围大小的矩阵的像素点的值 n n i j yn n 模板一 当采用 3 3 的模板的时候 1 1 1 18 1 1 1 1 从模板的系数可以看出 这里计算得到的是中间像素点与周围临近的 1 个像素点n n 像素值之间的差距 因而在第一次尝试中 主要的计算方法是 该模板计算得到的数 值加上中间像素点的值 也即就是像素点的值由其与周围 1 个像素点的像素值的n n 区别决定 而得到的图像的滤波效果十分差 如下图 对 lena 图进行 3 3 的均值滤波 处理 我又重新仔细考虑了原因 根据以上的计算方法 由于噪声点的像素值与周围点的像 素值差距十分大 假设周围像素点的值都接近 255 而中间噪声点的值接近 0 这时得到的 中间点的像素值就应该为负值 由于位图的像素点值为 0 255 无符号整数 因而会直接变 为 0 这样的点多了 就会使得图像失去原来的性质 计算机体系结构 为了解决以上的问题 我开始想到为所有的像素点加一个偏移量 或者是在计算结束 后 将得到的负数的值按照一定的规律映射到 0 255 但是都没有得到十分理想的结果 我之后考虑到 由于我们计算得到的是中心像素点相对于邻近点的偏移量 又考虑到 噪声相对于邻近点的像素差距很大 因而 可设定一个阈值 如果计算得到的偏移量超过 了该阈值 则认为该点是噪声点 使用周围 1 个点的像素值 去除噪声点像素值对于n n 均值的影响 的均值替代中心像素点的像素值 如果在阈值范围内 就认为是信号点 不 改变该点的像素值 得到了较好的滤波效果 如下图 图片相对于原图的均方误差 MSE 110 007835 峰值信噪比 PSNR 27 716567dB 模板二 1 91 91 9 1 91 91 9 1 91 91 9 对于均值滤波还可以采取如上图的滤波掩模系数 也就是将 9 个点的像素值加起来求平 均 下图为 lena 图的中值滤波效果 计算机体系结构 图像的 MSE 99 638870 PSNR 28 146516 3 存在的问题 存在的问题 均值滤波器作为一种线性的滤波器 将邻近点的像素的均值作为中心点的像素值 在 滤除噪声的同时 也使得图像的边缘或者一些细节的信息丢失 当滤波窗口增大时 滤波 的效果增强 但是边缘的模糊程度加深 难以在滤除噪声点的同时保持图像的边缘等细节 信息 2 中值滤波器中值滤波器 1 原理 原理 中值滤波是一种非线性数字滤波器技术 经常用于去除图像或者其它信号中的噪声 这个设计思想就是检查输入信号中的采样并判断它是否代表了信号 使用奇数个采样组成 的观察窗实现这项功能 观察窗口中的数值进行排序 位于观察窗中间的中值作为输出 然后 丢弃最早的值 取得新的采样 重复上面的计算过程 它对于斑点噪声 en speckle noise 和椒盐噪声 en salt and pepper noise 来说尤其有用 2 实现 实现 采用的滤波窗口 对窗口内的像素点根据像素值进行排序 我这里采用的是冒泡排n n 序的方法 在排序结束之后取中间值作为中心像素点的像素值 这里的滤波窗口需要为奇 数 由于中值滤波并没有将像素点像素值取平均 对边缘的保护程度要稍强于均值滤波 下图为 lena 图 3 3 的中值滤波效果 计算机体系结构 图片相对于原图的均方误差 MSE 136 439793 PSNR 26 781393 可以看到图片的滤波效果并不是很理想 对于高斯噪声 中值滤波器并不能够很好的滤 除噪声 而对于脉冲噪声 如椒盐噪声 由于噪声点的值一般为 255 或 0 一般为滤波窗 口的极大值或者极小值 滤波效果会有很大的改善 如下图 相对于原图的 MSE 32 402124 PSNR 33 025069dB 3 存在的问题 存在的问题 中值滤波当图片受到噪声污染较为严重的时候 如果一个滤波窗口中的像素点超过 20 经验值 由于噪声的影响 滤波的效果就会变得很差 很多噪声点会难以滤除 如 果这时将滤波的窗口加大 就可能使得边缘等细节的信息丢失 使得图像变得模糊 简单 的中值滤波很难解决滤波窗口大小的问题 计算机体系结构 3 双边滤波器双边滤波器 1 原理 原理 双边滤波可以保持边缘 滤波算法中 目标点上的像素值通常是由其所在位置上的周围 的一个小局部邻居像素的值所决定 在 2D 高斯滤波中的具体实现就是对周围的一定范围 内的像素值分别赋以不同的高斯权重值 并在加权平均后得到当前点的最终结果 而这里 的高斯权重因子是利用两个像素之间的空间距离 在图像中为 2D 关系来生成 通过高斯 分布的曲线可以发现 离目标像素越近的点对最终结果的贡献越大 反之则越小 其公式 化的描述一般如下所述 1 h xkxfcx d d kxcx d 为基于空间距离的高斯权重 是对结果进行归一化 c d k 但是如果只考虑了像素间的空间位置上的关系 因此滤波的结果会丢失边缘的信息 这里的边缘主要是指图像中灰度值剧烈变化的边界 而双边滤波就是在高斯滤波中加入了 另外的一个权重分部来解决这一问题 双边滤波中对于边缘的保持通过下述表达式来实现 1 r h xkxfs ff x d r kxs ff x d 为基于像素间相似度的高斯权重 用于归一化 s r kx 当将两中考量的方式进行综合的时候 就可以得到双边滤波法 如下式 1 h xkxfcx s ff 其中 2 1 2 d dx cxe 2 1 2 r ff sxe 在代码中只要实现根据公式计算高斯空间权重 与高斯像素点权重 就可以实现计算每 个像素点的像素值 滤波的效果与均值滤波有了比较大的提升 如下图为 cameraman 图当 高斯空间均方差取 50 高斯像素点均方差也取 50 窗口大小为 3 得到的滤波图像 计算机体系结构 图片与原图相比较 MSE 147 752670 PSNR 26 435450dB 而均值滤波器得到的 MSE 305 86439 PSNR 23 27545 下图为 3 3 的均值滤波器得到的图像 可以明显地看到 双边滤波相对于均值滤波很好的保护了图像的边缘特性 3 存在的问题 存在的问题 双边滤波器需要计算高斯空间权重 高斯像素点权重 计算量较大 当图片较大的时 候 运算所需要的空间会比较大 运算的时间复杂度也会较大 双边滤波器主要适用于被 高斯噪声污染的图片 对于类似于椒盐噪声污染的图片滤波的效果会稍差 4 自适应的中值滤波器自适应的中值滤波器 1 原理 原理 自适应中值滤波的思想是根据噪声密度改变滤波窗口的大小 同时对噪声点和信号点 采取不同的处理方法 对噪声点进行中值滤波 对信号点保持其灰度值不变 算法的主要 思想 假定最大允许的滤波窗口为 先判断滤波窗口的中值是否为噪声点 也就是 max win 如果 认为中心值不为噪声点 进入下一步 否则 认为滤波窗口中的 min f med f max f 噪声 影响到了中心点的像素值 扩大滤波的窗口直到最大的滤波窗口为止 在第二步中 判断中心点的像素值是否是噪声 也即当 认为是信号 min f ij f max f 点 输出原来的像素值 当中心点的像素值为滤波窗口的最大像素值或最小像素值时 这 时认为该点为噪声点 输出中值 然而 在计算的过程发现 判断一个点是否为噪声点的主要因素为与 当边 min f max f 缘变化十分剧烈的时候 有可能使得一些细节的边缘信息丢失 为了避免将高频信号点误分为噪声 引入了最小集合距离 MD 值为的像素与集合 ij f 的 MD 定义为 min k k ijz Z MDff MD 计算的是中心像素与周围像素点像素的差距 如果差距越小的话 就认为该点为 计算机体系结构 噪声点的可能性越小 当 MD 小于阈值 则该点认为是信号点 在窗口自适应的时候 如果该点为根据判断之后的噪声点则扩大窗口 在中值输出的 时候 输出除了噪声以外的信号点的像素值 得到了很好的滤波效果 如下图 可以看到毛发等边缘信息保存完好 与原图相比的 MSE 25 369306 PSNR 34 087718dB 与中值滤波得到 MSE 32 402124 PSNR 33 025069dB 有了改善 如果图片的污染程度进 一步提高的话 改善的效果会更加明显 3 存在的不足 存在的不足 自适应的中值滤波器对椒盐噪声等脉冲噪声的滤波效果十分好 但是对于高斯噪声的滤 波效果不是很明显 因为高斯噪声噪声的像素值大多都在 之中 按照算法 min f ij f max f 这样的点认为是非噪声点 在实际操作中 可以先判断 污染图片的噪声是否是脉冲噪声 再进行自适应的中值滤波 或者双边滤波 三三 滤波效果分析滤波效果分析 在滤波效果的分析中 我主要采用了主观的观察 以及用数据 MSE 和 PSNR 计算来评 价滤波的效果 如下是 MSE 均方差 的定义 I I j K I j 分别是两个图像对应点的像素值 如下是 PSNR 峰值信噪比 的定义 峰值信噪比反映的是像素点信号与噪声的比例 愈高愈好 均方差反映的是图像像素 点与未污染像素点之间的差距 愈小愈好 下表是统计了图片库中图片滤波前的 MSE PSNR 以及滤波后的 MSE PSNR 其中主要采 用了 3 3 均值滤波 5 5 均值滤波 3 3 中值滤波 5 5 中值滤波 双边滤波 参数 窗口 为 3 空间相关 sigma 为 50 像素点相关 sigma 为 50 自适应滤波 改进的阈值为 20 最小窗口 3 最大窗口 9 计算机体系结构 图片名称图片名称滤波方法滤波方法滤波前滤波前 MSE滤波前滤波前 PSNR dB 滤波后滤波后 MSE滤波后滤波后 PSNR dB 01 gray lenaG3 3 均值滤 波 640 10804720 06927199 63887028 146516 01 gray lenaG5 5 均值滤 波 640 10804720 06927199 13930528 168345 01 gray lenaG3 3 中值滤 波 640 10804720 069271136 43979326 781393 01 gray lenaG5 5 中值滤 波 640 10804720 069271101 98755328 045332 01 gray lenaG双边滤波640 10804720 06927199 02875528 173190 01 gray lenaG自适应中值 滤波 640 10804720 069271319 79337723 082109 02 cameramanG3 3 均值滤 波 579 40695220 368101305 8643923 275457 02 cameramanG5 5 均值滤 波 579 40695220 368101475 32167121 351800 02 cameramanG3 3 中值滤 波 579 40695220 368101287 84416223 539229 02 cameramanG5 5 中值滤 波 579 40695220 368101420 01370221 898169 02 cameramanG双边滤波579 40695220 368101147 75267026 435450 02 cameramanG自适应中值 滤波 579 40695220 368101441 90232821 677541 03 manG3 3 均值滤 波 579 85526220 497608120 53896327 319529 03 manG5 5 均值滤 波 579 85526220 497608141 11594526 635043 03 manG3 3 中值滤 波 579 85526220 497608147 27520826 449507 03 manG5 5 中值滤 波 579 85526220 497608131 76834426 932693 03 manG双边滤波579 85526220 497608114 85674127 529239 03 manG自适应中值 滤波 579 85526220 497608310 58015323 209067 04 audreyG3 3 均值滤 波 414 79356921 952483185 73939425 441763 04 audreyG5 5 均值滤 波 414 79356921 952483303 45845123 309811 04 audreyG3 3 中值滤 波 414 79356921 952483149 37791226 387940 04 audreyG5 5 中值滤 波 414 79356921 952483190 49826625 331893 计算机体系结构 04 audreyG双边滤波414 79356921 952483173 63291225 734483 04 audreyG自适应中值 滤波 r 60 d 10 414 79356921 952483152 94500026 285451 05 FDPS3 3 均值滤 波 1350 26325716 826619239 9983524 328748 05 FDPS5 5 均值滤 波 1350 26325716 826619240 03320924 328090 05 FDPS3 3 中值滤 波 1350 26325716 82661955 93630030 653866 05 FDPS5 5 中值滤 波 1350 26325716 826619139 73122826 67869 05 FDPS双边滤波1350 26325716 8266191308 3172516 963673 05 FDPS自适应中值 滤波 1350 26325716 82661950 52126031 096062 06 xianghuitangPS3 3 均值滤 波 945 50323418 374173190 11826125 340565 06 xianghuitangPS5 5 均值滤 波 945 50323418 374173211 14052824 885088 06 xianghuitangPS3 3 中值滤 波 945 50323418 37417364 19711630 055648 06 xianghuitangPS5 5 中值滤 波 945 50323418 374173133 83753726 865024 06 xianghuitangPS双边滤波945 50323418 374173717 79722319 570786 06 xianghuitangPS自适应中值 滤波 945 50323418 37417353 52072430 845584 07 tonglinshidaiPS3 3 均值滤 波 1162 98542717 475061215 96928624 786884 07 tonglinshidaiPS5 5 均值滤 波 1162 98542717 475061202 72644625 061702 07 tonglinshidaiPS3 3 中值滤 波 1162 98542717 47506154 61649730 757565 07 tonglinshidaiPS5 5 中值滤 波 1162 98542717 475061114 95730827 525438 07 tonglinshidaiPS双边滤波1162 98542717 4750611057 06244317 889797 07 tonglinshidaiPS自适应中值 滤波 1162 98542717 47506165 99270329 935844 08 wolfPS3 3 均值滤 波 1142 49804817 552249179 70177425 585280 08 wolfPS5 5 均值滤 波 1142 49804817 552249145 64960426 497711 08 wolfPS3 3 中值滤 波 1142 49804817 55224932 40212433 025069 计算机体系结构 08 wolfPS5 5 中值滤 波 1142 49804817 55224975 76220929 336277 08 wolfPS双边滤波1142 49804817 552249999 30138718 133839 08 wolfPS自适应中值 滤波 1142 49804817 55224925 36930634 087718 09 zhouzongliPS3 3 均值滤 波 1194 29462117 359689258 36747024 008425 09 zhouzongliPS5 5 均值滤 波 1194 29462117 359689279 76269923 772954 09 zhouzongliPS3 3 中值滤 波 1194 29462117 359689118 35156727 399063 09 zhouzongliPS5 5 中值滤 波 1194 29462117 359689160 53668826 075061 09 zhouzon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程模板支架防护试题
- 市政桥梁工程施工安全风险评估
- 手术室患者安全管理
- PHP编程高级技巧分享
- (新)《中医内科学》练习题及答案
- 2026年高考甲卷理综生物考试全国模拟试卷
- 2026年高考北京卷政治考试题库(含答案)
- 2026年湖南省邵阳市中小学教师招聘考试卷附答案
- 2026年安徽省淮北中小学教师招聘考试试卷含答案
- 检测设备是否带电教学设计中职专业课-电气测量技术-电气设备运行与控制-装备制造大类
- 2026山东青岛海上综合试验场有限公司招聘38人备考题库含完整答案详解(全优)
- 大型赛事活动安保服务方案投标文件(技术标)
- 施工工地员工考核管理制度(3篇)
- 医院耗材监督考核制度
- 2025特变电工校园招聘200人笔试历年常考点试题专练附带答案详解2套试卷
- 2023合成生物学在食品微生物制造中的应用与前景研究
- GB/T 40740-2021堆焊工艺评定试验
- GB/T 19336-2017阿维菌素原药
- GB/T 13891-2008建筑饰面材料镜向光泽度测定方法
- 宾语从句习题
- 钢结构施工技术交底-
评论
0/150
提交评论