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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Random之nextInt函数「建议收藏」

    Random之nextInt函数「建议收藏」1java中有一个类用于生成随机数字的:Random。该类的nextInt(intn)函数表示随机生成0~n之间的整数。如:intb=newRandom().nextInt(100);//0~参数之间,包括0,不包括参数本身System.out.println(b);2Random的nextInt(intn)生成的随机整数范围是0到n之间,不包括n。所以以后如果想要

    2022年7月22日
    6
  • Android自定义View之declare-styleable记录[通俗易懂]

    Android自定义View之declare-styleable记录[通俗易懂]format值类型reference资源IDcolor颜色值dimension尺寸值float浮点值string字符串fraction百分数<declare-styleablename=”XXX”>//自定义View的类名<attrname=””format=”reference”/>//资源ID<attrname=…

    2022年7月13日
    16
  • 用python做一个贪吃蛇游戏_免费贪吃蛇试玩的游戏

    用python做一个贪吃蛇游戏_免费贪吃蛇试玩的游戏一、前言距上次更新博客,又过去很长时间了,感觉再不更新一下,自己写博客的习惯就要废了,哈哈。从去年九月份开学之后,疫情学期期末考试开学考、实验室项目软著申请和新项目设计、课程集训等事情较多,没有很多时间;然后这个学期我到大三下学期,实验室工作交接完就准备考研,之后也没有很多时间来写博客,所以赶紧来更新一下,和大家分享一些知识和心得,希望喜欢的小伙伴可以点赞、收藏和关注,哈哈。二、贪吃蛇大冒险小游戏一、游戏简介1.1游戏操作及游戏规则(1)游戏开始后,通过键盘上下左右键控制贪吃蛇移动寻找食物;(2

    2022年8月11日
    8
  • Java实现大数运算

    Java实现大数运算一 大数运算介绍 nbsp 大数运算 顾名思义 就是很大的数值的数进行一系列的运算 它是指由于编程语言提供的基本数值数据类型表示的数值范围有限 不能满足较大规模的高精度数值计算 因此需要利用其他方法实现高精度数值的计算 于是产生了大数运算 二 Java 实现大数运算方法 nbsp nbsp nbsp nbsp 在 BigDecimal 用法详解这篇文章中给大家介绍了 Java 中的大数类 Bi

    2025年7月8日
    5
  • 什么是SQL_SQL SERVER

    什么是SQL_SQL SERVER参考:SQL中的declare用法sql中的变量定义declare变量是在批处理或过程的主体中用DECLARE语句声明的,并用SET或SELECT语句赋值。而SQL中是以GO语句来区分批处理的。所以在例子中一个简单的if语句中定义的变量,可以在if语句外面使用。…

    2022年8月20日
    4
  • notifyAll()_notify for

    notifyAll()_notify for下面这段代码suclassCalculaterextendsThread{ publicinttotal=1; publicvoidrun(){ System.out.println(“Calculatorrun”); synchronized(this){ for(inti=1;i<10;i++){ total*=i; }

    2025年8月28日
    4

发表回复

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

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