bm3d算法matlab,BM3D算法实现图像降噪.doc
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相关推荐
- matlab形态学降噪,基于MATLAB的荧光分子图像降噪方法
基于MATLAB的荧光分子图像降噪方法 [摘要]:医学成像是一种身体内部的视觉显示的技术,用于临床分析和医学干预.其目它旨在揭示身体的内部结构,以便进行诊断和治疗.医学成像产生了大量数据,可形成常规解 ...
- 文字细化算法matlab,细化算法matlab
最简单的方法 最简单的方法是用matlab自带的函数: BW2 = bwmorph(BW,'thin',n); n是要细化迭代的次数,也可以是Inf(没有引号).Inf表示算法会一直迭代直到图像不再改 ...
- matlab 图像拼接算法,MATLAB图像拼接算法及实现
MATLAB图像拼接算法及实现 图像拼接算法及实现(一)论文关键词:图像拼接 图像配准 图像融合 全景图论文摘要:图像拼接(image mosaic)技术是将一组相互间重叠部分的图像序列进行空间匹配对 ...
- svm算法 matlab,SVM算法matlab程序
经典SVM算法matlab程序\svm\binomial.m 经典SVM算法matlab程序\svm\centrefig.m 经典SVM算法matlab程序\svm\cmap.mat 经典SVM算法m ...
- edmonds算法matlab,匈牙利算法的matlab实现
匈牙利算法 算法简介 算法原理 算法实现(附代码) 测试 算法简介 下面摘用百度百科中的解释. 匈牙利算法(Hungarian method)是由匈牙利数学家Edmonds于1965年提出,因而得名. ...
- 最优隐神经元数目 算法 matlab,BP算法的改进在Matlab的实现研究
BP 算法的改进在M a tlab 的实现研究 姚文俊 (中南民族大学电子信息工程学院 湖北武汉 430074) 摘 要:利用M atlab 中的神经网络工具箱提供的丰富网络学习和训练函数,对BP 网 ...
- matlab主成分分析综合评价算法,matlab主成分分析算法
从经济效益出发选取8个指标,利用主成分分析法对选取指标进行分析,利用Matlab软件对14家机械制造企业的经济效益进行了计算和排名,为黑龙江省今后实现企业间经济发展协调...... II. 主成分分析 ...
- numerov算法matlab,Numerov算法求解一维薛定谔方程研究.doc
Numerov算法求解一维薛定谔方程研究 摘 要 本文主要讲述的是运用MATLAB对一维定态薛定谔方程求解中遇到问题的分析.问题指的是在运用文献[1]所提供的程序,解一维定态薛定谔方程时出现了波函数与 ...
- pla算法 matlab,PAL算法原理及代码实现
博主发现之前写的博客都是偏程序方面,而较少涉及数学或算法方面的东西,其实无论什么软件工具,最终都是为了更好地给理论铺路搭桥,所以我觉得不应该就某个程序贴个博客,而是在实际算法研究中,将理论描述清晰,再 ...
- matlab如何调用优化算法,MATLAB优化算法(一)
1.线性规划 [x,fval]=linprog(c,A,b,Aeq,Beq,VLB,VUB) 用于解决 min(z)=cX%%求满足条件的X与已定系数c乘积之和的最小值 s.t. AX<=b ...
最新文章
- 合肥工业大学—SQL Server数据库实验九:视图的定义与使用
- 【Java学习】从一个简单的HelloWorld项目中入门maven
- 【筛素数】P1579 哥德巴赫猜想(升级版)
- linux系统之centos/ubuntu选择
- 如何解决java乱码_java如何解决乱码
- 视频光端机选型及常见品牌
- STL浅析——序列式容器vector的数据结构
- CISCO 端口出现err-disabled 现象解决案例
- 经商失败的人,最可怕的不是失去金钱,而是失去信心
- mysql打开慢查询_MySQL 开启慢查询日志的方法
- 侯捷老师——STL源码剖析
- 技术交底书(三)-----一种虚拟现实共享及三维空间共享系统
- 从零实现加密隧道(二):socks5 协议详解
- 智能家居,“智能”是前提,“安全”是根本
- 编程:获取股票实时行情数据大全
- 纯鼓点节奏_[鼓点] 简单的鼓点节奏
- 教你如何用python制作平面直角坐标系模拟器 python项目小发明 【安安教具】-【数学】-【平面直角坐标系】模拟器
- 数据分析需要掌握的知识(2)
- python怎么群发邮件_python群发邮件怎么做
- vlookup多项匹配_VLOOKUP函数一对多查找,就是这么简单!