bm3d算法matlab,BM3D算法实现图像降噪.doc[通俗易懂]

bm3d算法matlab,BM3D算法实现图像降噪.doc[通俗易懂]BM3D算法实现图像降噪广东工业大学《数字图像、数字信号处理及应用》实验报告题目图像处理综合实验院、系(部)自动化学院专业及班级学号姓名日期目录《数字图像、数字信号处理及应用》0实验报告02实验要求43实验设备44实验原理44.1利用拉普拉斯算子实现图像锐化44.2利用分段线性函数实现对比度扩展54.3余弦变换(D…

大家好,又见面了,我是你们的朋友全栈君。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137406.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月2日 上午6:36
下一篇 2022年6月2日 上午6:46


相关推荐

  • 计算机网络知识点汇总(谢希仁 第七版)「建议收藏」

    计算机网络知识点汇总(谢希仁 第七版)「建议收藏」写在前面这篇博客是当时在大二的时候为了学习计网总结的一篇学习笔记,其实当时的做法和抄书差不多,但是时隔两年的时间没想到有这么多的同学会来关注学习,实在受宠若惊;现在我已经大四,而且刚刚经历过秋招(2019/12),并且签约了一家薪资待遇不错的Java开发岗,所以在闲下来的时候准备将这篇博客重新整理一下,主要为了几方面:一·将之前没有整理到的内容补充详细;二·为重难点的部分加上详…

    2022年6月12日
    85
  • “OpenClaw龙虾”:爆火,意味着什么?

    “OpenClaw龙虾”:爆火,意味着什么?

    2026年3月13日
    2
  • vue的双向绑定原理及实现_vue绑定数据

    vue的双向绑定原理及实现_vue绑定数据一、什么是双向绑定我们先从单向绑定切入单向绑定非常简单,就是把Model绑定到View,当我们用JavaScript代码更新Model时,View就会自动更新双向绑定就很容易联想到了,在单向绑定的基础上,用户更新了View,Model的数据也自动被更新了,这种情况就是双向绑定举个栗子当用户填写表单时,View的状态就被更新了,如果此时可以自动更新Model的状态,那就相当于我们把Model和View做了双向绑定关系图如下二、双向绑定的原理是什么我们都知道Vue是数

    2025年11月14日
    7
  • 基于LangChain的RAG与Agent智能体开发 – 阿里云百炼大模型平台接入

    基于LangChain的RAG与Agent智能体开发 – 阿里云百炼大模型平台接入

    2026年3月15日
    1
  • strstr函数实现

    strstr函数实现strstr()函数用来查找子串的首地址,函数实现如下:char*strstr(char*str1,char*str2){ char*p1=NULL; char*p2=NULL; while(*str1) { p1=str1; p2=str2; while(*p1==*p2&&*p2!=NULL) { p1++; p2…

    2022年6月25日
    35
  • mac下配置android开发环境

    1.安装java环境oracle官网下载java就可以,链接http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=ocomen我下载的是java72.安装adt-bundle形式的android开发环境由于google现在极力推广他的android studio,官网貌似已经把eclips

    2022年3月11日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号