BM3D算法实现图像降噪

广东工业大学

《数字图像、数字信号处理及应用》

实验报告

题 目 图像处理综合实验

院、系(部) 自动化学院

专业及班级

学 号

姓 名

日 期

目录

《数字图像、数字信号处理及应用》0

实验报告0

2 实验要求4

3 实验设备4

4 实验原理4

4.1 利用拉普拉斯算子实现图像锐化4

4.2利用分段线性函数实现对比度扩展5

4.3 余弦变换(DCT)6

4.4 BM3D降噪算法(Block Matching 3D Filter Algorithm)7

5 软件设计8

5.1 总体设计8

5.2 详细设计9

6 测试与分析15

6.1测试步骤15

6.2 比较中值、均值、BM3D滤波信噪比16

7 结论与问题讨论18

7.1完成设计要求的程度18

7.2遇到的问题及解决办法18

7.3存在的不足及改进思路。19

8参考文献19

9附录19

9.2 Moon.bmp彩色处理结果20

1 实验目的

理解图像平滑和锐化的基本方法;

了解图像复原的基本方法;

综合使用多种方法改善图像质量。

2 实验要求

(1)利用Photoshop之类的图像处理工具软件,尝试对Moon.bmp尽量改善图像质量。

(2)综合采用各种合理的方法,编写程序(C/C++/OpenCV、MATLAB、Python……均可)对Moon.bmp进行图像质量改善,实现以下目标的权衡折中:

a.b. 增大对比度;

c. 锐化增强。

3 实验设备

安装了VC6/VS2010、PS C6、MATLAB的PC机

4 实验原理

4.1 利用拉普拉斯算子实现图像锐化

锐化处理的目的是突出图像中的细节或者增强被模糊了的细节。锐化处理可以用空间微分来完成。微分算子的响应强度与图像在该点的突变程度有关,图像微分增强了边缘和其他突变(如噪声)而消弱了灰度变化缓慢的区域。

由于我们处理的是数字量,最小灰度级的变化是有限的,而且变化发生的最短距离是在两个相邻像素之间。因此,

用一阶微分的差值定义一元函数f(x)的二阶微分:

二元图像函数f(x,y)的拉普拉斯变换定义为:

离散方式:

X方向:

Y方向:

故二维拉普拉斯数字实现由以上两个分量相加:

因此拉普拉斯算子用于图像增强的基本方法如下:

拉普拉斯算子处理后的图像如下:

图 1(拉普拉斯处理图像对比图。处理前左,处理后右)

4.2利用分段线性函数实现对比度扩展

分段线性变换函数的对比度拉伸相对于直方图均衡(直方图均衡只能按照统计特性进行变换)可以更加灵活地控制输出灰度直方图的分布,可以有选择地拉伸某段灰度区间,以改善输出图像。如果一幅图像灰度集中在较暗的区域而导致图像偏暗,可以用灰度拉伸功能来扩展(斜率>1)物体的灰度区间以改善图像;如果图像灰度集中在较亮的区域而导致图像偏亮,也可以用灰度拉伸功能来压缩(斜率<1)物体灰度区间以改善图像质量。

如图2所示,线性函数分为3段,转折点在(c,a)和(d,b)。从(0,0)到(c,a)段的斜率为 ;从(c,a)到(d,b)段的斜率为;从(d,b)到(Mf,Mg)段的斜率为。所以分段函数的表达式为:

图 2(分段线性函数示意图)

4.3 余弦变换(DCT)

离散余弦变换(Discrete Cosine Transform)是与傅里叶变换相关的一种变换,它类似于离散傅里叶变换(Discrete Fourier Transform),但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换,是对实信号定义的一种变换,变换后在频域中得到的也是一个实信号。相比DFT,DCT可以减少一半以上的计算。DCT还有一个很重要的性质(能量集中特性):大多书自然信号(声音、图像)的能量都集中在离散余弦变换后的低频部分,因而DCT在(声音、图像)数据压缩、图像处理等方面得到了广泛的使用。

二维余弦变换为:

其中f(x,y)是空间域二维向量之元素, x,y=0,1,2,......N-1;F(u,v)是变换系数阵列之元素。 式中表示的阵列为N×N

二维余弦逆变换为:

式中的符号意义同正变换式一样

4.4 BM3D降噪算法(Block Matching 3D Filter Algorithm)

一些传统的图像视频去噪算法,会在滤除噪声的同时引入人工噪声或对图像有很大的模糊效果,存在很大的局限性。而基于块匹配和三维变换域滤波(BM

bm3d算法matlab,BM3D算法实现图像降噪.doc相关推荐

  1. matlab形态学降噪,基于MATLAB的荧光分子图像降噪方法

    基于MATLAB的荧光分子图像降噪方法 [摘要]:医学成像是一种身体内部的视觉显示的技术,用于临床分析和医学干预.其目它旨在揭示身体的内部结构,以便进行诊断和治疗.医学成像产生了大量数据,可形成常规解 ...

  2. 文字细化算法matlab,细化算法matlab

    最简单的方法 最简单的方法是用matlab自带的函数: BW2 = bwmorph(BW,'thin',n); n是要细化迭代的次数,也可以是Inf(没有引号).Inf表示算法会一直迭代直到图像不再改 ...

  3. matlab 图像拼接算法,MATLAB图像拼接算法及实现

    MATLAB图像拼接算法及实现 图像拼接算法及实现(一)论文关键词:图像拼接 图像配准 图像融合 全景图论文摘要:图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对 ...

  4. svm算法 matlab,SVM算法matlab程序

    经典SVM算法matlab程序\svm\binomial.m 经典SVM算法matlab程序\svm\centrefig.m 经典SVM算法matlab程序\svm\cmap.mat 经典SVM算法m ...

  5. edmonds算法matlab,匈牙利算法的matlab实现

    匈牙利算法 算法简介 算法原理 算法实现(附代码) 测试 算法简介 下面摘用百度百科中的解释. 匈牙利算法(Hungarian method)是由匈牙利数学家Edmonds于1965年提出,因而得名. ...

  6. 最优隐神经元数目 算法 matlab,BP算法的改进在Matlab的实现研究

    BP 算法的改进在M a tlab 的实现研究 姚文俊 (中南民族大学电子信息工程学院 湖北武汉 430074) 摘 要:利用M atlab 中的神经网络工具箱提供的丰富网络学习和训练函数,对BP 网 ...

  7. matlab主成分分析综合评价算法,matlab主成分分析算法

    从经济效益出发选取8个指标,利用主成分分析法对选取指标进行分析,利用Matlab软件对14家机械制造企业的经济效益进行了计算和排名,为黑龙江省今后实现企业间经济发展协调...... II. 主成分分析 ...

  8. numerov算法matlab,Numerov算法求解一维薛定谔方程研究.doc

    Numerov算法求解一维薛定谔方程研究 摘 要 本文主要讲述的是运用MATLAB对一维定态薛定谔方程求解中遇到问题的分析.问题指的是在运用文献[1]所提供的程序,解一维定态薛定谔方程时出现了波函数与 ...

  9. pla算法 matlab,PAL算法原理及代码实现

    博主发现之前写的博客都是偏程序方面,而较少涉及数学或算法方面的东西,其实无论什么软件工具,最终都是为了更好地给理论铺路搭桥,所以我觉得不应该就某个程序贴个博客,而是在实际算法研究中,将理论描述清晰,再 ...

  10. matlab如何调用优化算法,MATLAB优化算法(一)

    1.线性规划 [x,fval]=linprog(c,A,b,Aeq,Beq,VLB,VUB) 用于解决 min(z)=cX%%求满足条件的X与已定系数c乘积之和的最小值 s.t. AX<=b   ...

最新文章

  1. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用
  2. 【Java学习】从一个简单的HelloWorld项目中入门maven
  3. 【筛素数】P1579 哥德巴赫猜想(升级版)
  4. linux系统之centos/ubuntu选择
  5. 如何解决java乱码_java如何解决乱码
  6. 视频光端机选型及常见品牌
  7. STL浅析——序列式容器vector的数据结构
  8. CISCO 端口出现err-disabled 现象解决案例
  9. 经商失败的人,最可怕的不是失去金钱,而是失去信心
  10. mysql打开慢查询_MySQL 开启慢查询日志的方法
  11. 侯捷老师——STL源码剖析
  12. 技术交底书(三)-----一种虚拟现实共享及三维空间共享系统
  13. 从零实现加密隧道(二):socks5 协议详解
  14. 智能家居,“智能”是前提,“安全”是根本
  15. 编程:获取股票实时行情数据大全
  16. 纯鼓点节奏_[鼓点] 简单的鼓点节奏
  17. 教你如何用python制作平面直角坐标系模拟器 python项目小发明 【安安教具】-【数学】-【平面直角坐标系】模拟器
  18. 数据分析需要掌握的知识(2)
  19. python怎么群发邮件_python群发邮件怎么做
  20. vlookup多项匹配_VLOOKUP函数一对多查找,就是这么简单!

热门文章

  1. 作为IT码农,我是如何给小孩取名字的(推荐收藏,总有需要的一天)
  2. 微软官方的SQLHelper类(含完整中文注释)
  3. 千套多行业多样式单页多页中英文简历模板(自荐信,简历封面,求职),共630M
  4. 简单OCX控件的开发
  5. 关于磁力计偏置值的标定实践
  6. 电子商业汇票知识问答题
  7. 盒子科技刘恒:聚合支付系统演讲
  8. 自学mysql还是sql好_如何自学SQL?
  9. QT应用编程: 开发TCP网络调试助手
  10. c++配置opencv环境