matlab 使用小波变换和方差性质处理带状噪声
本文对slena.jpg进行了单层和多层的分解与重构,利用方差或小波变换的性质对带状噪声进行了去除。实验处理的图片为slena.jpg
代码如下:
基于小波变换性质的带状噪声去除
通过小波变换分离出竖直分量,移除后即可减缓竖线影响,但是会丢失大量细节,当N较大时,会使得图像模糊不清
function U()clear;clc;Wavelet_decomposition_Banded_nois_removal()% 用小波变换处理带状噪声
function Wavelet_decomposition_Banded_nois_removal()[X,map] = imread('slena.jpg'); % 读取文件
% [X,map] = imread('football.jpg');figure('Name','小波变换'); % 开一个叫小波变换的窗口subplot(2,2,1);imshow(X);title('slena.jpg原图'); % 显示原图N=3;wname = 'sym5';X_1=Wavelet_decomposition(X(:,:,1),N,wname);X_2=Wavelet_decomposition(X(:,:,2),N,wname);X_3=Wavelet_decomposition(X(:,:,3),N,wname);subplot(2,2,2),imshow(cat(3,X_1,X_2,X_3),[]),title(wname);wname = 'db1';X_1=Wavelet_decomposition(X(:,:,1),N,wname);X_2=Wavelet_decomposition(X(:,:,2),N,wname);X_3=Wavelet_decomposition(X(:,:,3),N,wname);subplot(2,2,3),imshow(cat(3,X_1,X_2,X_3),[]),title(wname);wname = 'haar';X_1=Wavelet_decomposition(X(:,:,1),N,wname);X_2=Wavelet_decomposition(X(:,:,2),N,wname);X_3=Wavelet_decomposition(X(:,:,3),N,wname);subplot(2,2,4),imshow(cat(3,X_1,X_2,X_3),[]),title(wname);
end% 对RGB每个片的单独处理
function img = Wavelet_decomposition(X,N,wname)[C,S] = wavedec2(X, N, wname); % 小波分解CA = appcoef2(C,S, wname,N); % 提取直通分量for i = N:-1:1CH = detcoef2('h',C,S,i); % 提取水平分量
% CV = detcoef2('v',C,S,i); % 提取垂直分量CV = [];CD = detcoef2('d',C,S,i); % 提取对角分量CA = idwt2(CA,CH,CV,CD,wname);
% CA = idwt2([],[],CV,[],wname);endimg = uint8(CA);return
end
实验结果:
2.基于方差的带状噪声去除
通过对图片的分析,我们可以看出,图像中的带状噪声部分,像素值差异明显比正常部分要小,所以我们可以通过方差来确定噪声具体位置,并用左右相邻正常像素值来代替它,这样丢失的细节相比上一种更少。
function U()clear;clc;Banded_nois_removal()% 基于方差实现的带状噪声处理
function Banded_nois_removal()[X,map] = imread('slena.jpg'); % 读取文件figure('Name','基于方差的带状噪声处理'); % 开一个叫带状噪声处理的窗口subplot(1,2,1);imshow(X);title('slena.jpg原图'); % 显示原图wname = 'haar';X_1=Variance(X(:,:,1),wname);X_2=Variance(X(:,:,2),wname);X_3=Variance(X(:,:,3),wname);subplot(1,2,2),imshow(cat(3,X_1,X_2,X_3),[]),title('方差处理');
endfunction X = Variance(X,wname)[cA,cH,cV,cD]=dwt2(X,wname);A=idwt2(cA,[],[],[],wname);H=idwt2([],cH,[],[],wname);V=idwt2([],[],cV,[],wname);D=idwt2([],[],[],cD,wname);[x,y]=size(cA);img = zeros(x,y);v_cA = var(cA); % 算出方差v1=0;v2=0;for j =1:yif v_cA(j)<5000 % 方差太小,应该是竖线% 左右找找方差大的列,取它俩平均值v1=0;v2=0;for i = j+1:yif v_cA(i)>700v2 = i;break;endendfor i = j-1:-1:1if v_cA(i)>700v1 = i;break;endendif v1==0 v1 = v2;endif v2==0 v2=v1;endfor i = 1:ximg(i,j)=(cA(i,v1)+cA(i,v2))/2;endelsefor i = 1:ximg(i,j)=cA(i,j);endendend
% img =medfilt2(img); % 中值滤波
% h = 1/16.*[1 2 1 ;2 4 2 ;1 2 1];
% img = filter2(h,img); % 高斯滤波X=uint8(idwt2(img,cH,[],cD,wname));
end
实验结果:
其他:
对于小波变换的垂直分量,可以不完全去除,而对其进行滤波处理,可以减少细节丢失。
方差具体值的选取比较依赖于经验和试错,普适性较差。
matlab 使用小波变换和方差性质处理带状噪声相关推荐
- MATLAB中均值、方差、标准差、协方差、相关性的计算
公式 1.均值 2.方差 3.标准差\均方差 4.协方差 5.相关性 6.加权均值 7.加权方差 8.加权标准差 MATLAB代码 样本定义 %% x=[1 2 3 3 2 1]' y = [1 2 ...
- MATLAB基于小波变换的语音信号去噪算法改进
MATLAB基于小波变换的语音信号去噪算法改进 概述 0. 需要调用的子函数 0.1 Gnoisegen函数 0.2 snrr函数 1. 语音信号输入和加噪 1.1 语音信号输入 1.2 语音信号加噪 ...
- dft对称性 matlab实验,数字信号处理实验 matlab版 离散傅里叶变换的性质
数字处理实验 matlab版 山大学生最适用 本人自己写的 因为时间比较久了 不能完全保证出现代码都能运行 但95%还是能保证的 谢谢 实验13 离散傅里叶变换的性质 (完美格式版,本人自己完成,所有 ...
- matlab 统计基本函数 var方差
matlab 统计基本函数 var方差 matlab中的方差函数var的用法及具体分析: 首先我们应该清楚的区分两个概念,即方差和样本方差的无偏估计, 简要来说就是,方差公式中分母上是N,而样本方差无 ...
- 011 数学期望、方差及方差性质
011 数学期望.方差及方差性质
- HDU - 5073 Galaxy 思维+方差性质
题目链接 题意: 一共有N个星球,其星球围绕着其中心旋转,现在你可以去掉最多K个星球,使得其最后的:∑ni=1d2i\sum_{i=1}^n d_i^2最小 其中di表示第i个点到中心的距离.当然随着 ...
- 误差、方差、偏差、噪声、训练误差+验证误差、偏差方差窘境、错误率和误差、过拟合与欠拟合
误差.方差.偏差.噪声.训练误差+验证误差.偏差方差窘境.错误率和误差.过拟合与欠拟合 目录
- 小波变换图像去噪matlab,基于小波变换的MATLAB汽车图像去噪
1.引言在图像中总是存在有许多的噪声,为了更好地对图像进行分析,就必须在图像预处理中减小图像中的噪声.近年来,小波分析技术在图像处理应用上取得了一些新的进展.小波分析是泛函分析.傅里叶分析.样条理论. ...
- 小波分析加密 matlab,基于小波变换的数字图像加密算法
小波变换是傅里叶变换发展史上里程碑式的进展,小波变换在时域和频域上同时具有良好的局部化性质,并对各种信号特征进行多分辨率分析有极大的适应性,已广泛用于信号与图像处理.语言识别与合成等科技领域.那么今天 ...
最新文章
- 求助:谁可以给我点share point 开发的资料
- C/C++ 为什么#ifndef 头文件 要用大写加下划线?(这就是一种约定俗成的规范)
- github和gitlab仓库一起使用
- LeetCode 20. 有效的括号 golang(三)
- python百度百科-Python语言的发展简史
- 版本管理-SVN本地版本管理
- 第一篇博客——开天辟地
- 高效办公之远程电脑控制:再也不用带着厚重笔记本
- 移动边缘计算——计算卸载
- spyder python_spyder python2.7下载
- FFmpeg常用指令记录sdp中提取sps/pps信息sps/pps(STAP-A解析)
- Android WebView 无法下载文件的问题
- 世界首富马斯克的编程水平怎么样?
- wps之word设置页眉
- Email,电子邮箱免费注册流程
- antd-select拼音首字母模糊查询
- 离散数学知识点总结(4):合取范式,析取范式
- Vue3源码-Proxy
- java解惑之最后的笑声
- latex公式图片识别(转换为latex语法格式)