一个噪声估计与BM3D降噪的matlab实现
运行此项目需要Parallel Computing Toolbox 如未安装 请将denoising文件夹中的DCT_3D.m与iDCT_3D.m的parfor修改为for
注:输入进降噪函数的方差为256灰度空间值 噪声估计方差可为一值化/灰度空间值
储存了所有无噪声图像
储存了所有含噪图像
- main.m 入口文件 可选对已有含噪图像进行估计 / 对无噪图像加入噪声后进行估计
- noise_estimation.m 噪声估计主函数文件
- DCT_2D.m 执行二维离散傅里叶变换
- DCT_Coeffcient.m 计算离散傅里叶变换系数矩阵
- VL_theta_mat.m 计算块中低频部分掩膜矩阵
- VH_theta_mat.m 计算块中高频部分掩膜矩阵
- theta_gen.m 计算块中每个位置的theta
- theta_cacl.m 计算归一化theta
- enlight_block.m 高亮block 用于演示
- main.m 入口文件
- denoising.m 降噪主函数入口 可选优化参数
- denoising_o0/1/2/3 降噪主函数
- DCT_Coeffcient.m 计算离散傅里叶变换系数矩阵
- DCT_1D.m 一维离散余弦变换
- DCT_2D.m 二维离散余弦变换
- DCT_3D.m 三维离散余弦变换
- iDCT_1D.m 一维逆离散余弦变换
- iDCT_2D.m 二维逆离散余弦变换
- iDCT_3D.m 三维逆离散余弦变换
- length3D.m 计算第三维度上的长度 用于计算每个组内block的数目
- image2block.m 图像的块分割
- search_scope.m 计算块搜索半径内的block序号
- wthresh_.m 硬阈值滤波
- w_ht_cacl.m 计算step1中图像融合组权重
- index2position.m %将block_reference的index转换为其在图像中的坐标
- block_expand.m 用于将矩阵扩展至全图像(其余区域零填充) 便于计算
- isblockin.m 计算当前坐标是否在给定的参考块内
- psnr.m 计算图像的PSNR 用于评价降噪质量
docker-compose.yml 服务器端 matlab docker启动配置文件
噪声估计
降噪函数函数依赖