导航:首页 > 编程语言 > 图片小波去噪python

图片小波去噪python

发布时间:2022-04-13 21:18:44

① 为什么使用小波变换的方法为图像去噪

因为小波函数是具有局部时频特性,对于图像高频和低频部分,可以通过不同的方法,比如说阈值选取处理,根据不同的阈值选取达到不同的去噪效果,应用比较广泛,去噪效果较好,并且小波变换还可以和其他去噪方法结合,效果更佳。

② 小波变换的阈值函数图像去噪原理

一般情况下,这个阈值函数的选取与噪声的方差是紧密相关的。

通常情况下,现在论文中的噪声都是选用高斯白噪声。
被噪声污染的信号=干净的信号+噪声,
由于信号在空间上(或者时间域)是有一定连续性的,因此在小波域,有效信号所产生的小波系数其模值往往较大;而高斯白噪声在空间上(或者时间域)是没有连续性的,因此噪声经过小波变换,在小波阈仍然表现为很强的随机性,通常仍认为是高斯白噪的。
那么就得到这样一个结论:在小波域,有效信号对应的系数很大,而噪声对应的系数很小。
刚刚已经说了,噪声在小波域对应的系数仍满足高斯白噪分布。如果在小波域,噪声的小波系数对应的方差为sigma,那么根据高斯分布的特性,绝大部分(99.99%)噪声系数都位于[-3*sigma,3*sigma]区间内。因此,只要将区间[-3*sigma,3*sigma]内的系数置零(这就是常用的硬阈值函数的作用),就能最大程度抑制噪声的,同时只是稍微损伤有效信号。将经过阈值处理后的小波系数重构,就可以得到去噪后的信号。
常用的软阈值函数,是为了解决硬阈值函数“一刀切”导致的影响(模小于3*sigma的小波系数全部切除,大于3*sigma全部保留,势必会在小波域产生突变,导致去噪后结果产生局部的抖动,类似于傅立叶变换中频域的阶跃会在时域产生拖尾)。软阈值函数将模小于3*sigma的小波系数全部置零,而将模大于3*sigma的做一个比较特殊的处理,大于3*sigma的小波系数统一减去3*sigma,小于-3*sigma的小波系数统一加3*sigma。经过软阈值函数的作用,小波系数在小波域就比较光滑了,因此用软阈值去噪得到的图象看起来很平滑,类似于冬天通过窗户看外面一样,像有层雾罩在图像上似的。
比较硬阈值函数去噪和软阈值函数去噪:硬阈值函数去噪所得到的峰值信噪比(PSNR)较高,但是有局部抖动的现象;软阈值函数去噪所得到的PSNR不如硬阈值函数去噪,但是结果看起来很平滑,原因就是软阈值函数对小波系数进行了较大的 “社会主义改造”,小波系数改变很大。因此各种各样的阈值函数就出现了,其目的我认为就是要使大的系数保留,小的系数被剔出,而且在小波域系数过渡要平滑。
还有的什么基于隐马尔科夫模型去噪,高斯混合尺度去噪(英文缩写好像是GSR,不好意思,记不大清楚了)和自适应阈值去噪等,也就是利用有效信号的小波系数和噪声的小波系数在小波域的分布特征不同等特征来进行有效信号的小波系数和噪声的小波系数在小波域的分离,然后重构得到去噪后的信号。

说了这么多,忘了关键的一点,如何估计小波域噪声方差sigma的估计,这个很简单:把信号做小波变换,在每一个子带利用robust estimator估计就可以(可能高频带和低频带的方差不同)。
robust estimator就是将子带内的小波系数模按大小排列,然后取最中间那个,然后把最中间这个除以0.6745就得到噪声在某个子带内的方差sigma。利用这个sigma,然后选种阈值函数,就可以去去噪了~~

③ 请问在小波变换图像去噪中Xnoise=X+18*(rand(size(X)))中的18是代表什么

④ 小波变换后的图像如何去噪

小波变换去噪的基本思路可以概括为:利用小波变换把含噪信号分解到多尺度中,小波变换多采用二进型,然后在每一尺度下把属于噪声的小波系数去除,保留并增强属于信号的小波系数,最后重构出小波消噪后的信号。其中关键是用什么准则来去除属于噪声的小波系数,增强属于信号的部分。

⑤ 小波图像去噪的原理是什么啊

图像降噪的主要目的是在能够有效地降低图像噪声的同时尽可能地保证图像细节信息不受损失,。图像去噪有根据图像的特点、噪声统计特性和频率分布规律有多种方法,但它们的基本原理都是利用图像的噪声和信号在频域的分布不同,即图像信号主要集中在低频部分而噪声信号主要分布在高频部分,采取不同的去噪方法。传统的去噪方法,在去除噪声的同时也会损害到信号信息,模糊了图像。
小波变换主要是利用其特有的多分辨率性、去相关性和选基灵活性特点,使得它在图像去噪方面大有可为,清晰了图像。经过小波变换后,在不同的分辨率下呈现出不同规律,设定阈值门限,调整小波系数,就可以达到小波去噪的目的。
小波变换去噪的基本思路可以概括为:利用小波变换把含噪信号分解到多尺度中,小波变换多采用二进型,然后在每一尺度下把属于噪声的小波系数去除,保留并增强属于信号的小波系数,最后重构出小波消噪后的信号。其中关键是用什么准则来去除属于噪声的小波系数,增强属于信号的部分。

⑥ 急求大神帮助 相对一幅图像进行降噪处理 求能把自适应滤波和小波软阈值降噪的matlab代码

自适应滤波
clear all
I1=imread('1.jpg');
I=rgb2gray(I1);
J=imnoise(I,'gaussian',0,0.05); %添加均值为0,方差为0.05的高斯噪声
K1=wiener2(J,[5,5]);
figure
imshow(J);
title('加入高斯噪声图像');
figure
imshow(K1);
title('5*5窗口自适应滤波');

小波软阈值
clear all
I1=imread('1.jpg');
I=rgb2gray(I1);
J=imnoise(I,'gaussian',0,0.05); %添加均值为0,方差为0.05的高斯噪声
[Cr, Sr] = wavedec2(J, 2, 'sym4');

thr= Donoho(J);

J_soft = wdenoise(xr, 'gbl', 's', thr, 'sym4', 2);

figure; imshow(J_soft);

/////////////////////////////////用到的函数
function thr = Donoho(x)
%用Donoho通用阈值公式计算阈值 x为要进行处理的图像
% thr = delta * sqrt( 2 * log(n))
% n为信号的长度或尺寸
% delta = MAD / 0.6745 -经验公式,其中MAD为小波分解后高子带系数的中值

n = prod( size(x) ); %图像尺寸

%计算delta
[C, S] = wavedec2(x, 1, 'db1'); %小波分解
d = C( prod( S(1,:) ) + 2 * prod( S(2,:) ) + 1 : end); %HH子带系数
delta = median( abs(d) ) / 0.6745;

%计算阈值
thr = delta * sqrt(2*log(n));

////////////////////////////////////用到的函数
function X = wdenoise(x, measure, sorh, thr, wname, n)
% 阈值去噪函数
% x为带噪声图像
% measure表示全局或局部
% sorh表示软硬阈值方法
% thr为阈值
% wname为小波函数名
% n为分解层次

[C, S] = wavedec2(x, n, wname); % 对图像进行小波分解
switch measure
case 'gbl' % 全局阈值方法
dcoef = C( prod(S(1, :)) + 1 : end); % 提取细节部分系数
switch sorh
case 'h' % 硬阈值
dcoef = dcoef .* (abs(dcoef) > thr);
case 's' % 软阈值
temp = abs(dcoef) - thr;
temp = (temp + abs(temp)) / 2;
dcoef = sign(dcoef) .* temp;
end
C( prod(S(1, :)) + 1 : end) = dcoef;

case 'lvd' % 局部阈值方法
for i = n:-1:1 % 每层单独处理
k = size(S,1) - i;
first = prod(S(1, :)) + ...
3 * sum(S(2:k-1, 1) .* S(2:k-1, 2)) + 1;
% 第i层细节系数的起始位置
last = first + 3*prod(S(k,:)) - 1; % 终止位置
dcoef = C(first : last); % 细节系数
switch sorh
case 'h' % 硬阈值
dcoef = dcoef .* (abs(dcoef) > thr(i));
case 's' % 软阈值
temp = abs(dcoef) - thr(i);
temp = (temp + abs(temp)) / 2;
dcoef = sign(dcoef) .* temp;
end
C(first:last) = dcoef;
end
end

X = waverec2(C, S, wname); % 重构图像

⑦ 如何使用python画小波图像

最简单有效的库是来自于约翰内斯布赫尔的imagehash库。可以在库中实现多种图像散列:aHash,pHash,dHash。
所有三种方法的缩放图像转换成灰度级8×8的图像首位。
然后该库执行用于每个64像素的一些计算并分配一个二进制的1或0的值。这些64bit值形成算法的输出。

⑧ 小波阈值图像去噪程序为什么每次运行类似程序都有这个结果

File "barbara.png" does not exist. Error in ==> wavedenoise_main at 5意思是在主程序wavedenoise_main 第五行出错,出错原因是barbara.png文件不存在;
解决方法:第一种方法:你可以把文件barbara.png放在主程序wavedenoise_main这个文件夹
第二种方法:im=imread('barbara.png'); 改为im=imread('路径\barbara.png'); 路径即为你图片存放的路径如:d:image\..\

⑨ python如何实现类似matlab的小波滤波

  1. T=wpdec(y,5,'db40');
    %信号y进行波包解层数5T波树plot看
    a10=wprcoef(T,[1,0]);
    %a10节点[1,0]进行重构信号貌似没层重构说吧能某层某节点进行重构节点编号波树

  2. %以下为滤波程序(主要调节参数c的大小)
    c=10;
    wn=0.1;
    fs=50000; %采样频率;
    b=fir1(c,wn/(fs/2),hamming(c+1));
    y1=filtfilt(b,1,y);%对y滤波。

阅读全文

与图片小波去噪python相关的资料

热点内容
优信二手车解压后过户 浏览:60
Windows常用c编译器 浏览:777
关于改善国家网络安全的行政命令 浏览:832
安卓如何下载网易荒野pc服 浏览:653
javainetaddress 浏览:103
苹果4s固件下载完了怎么解压 浏览:1001
命令zpa 浏览:284
python编译器小程序 浏览:943
在app上看视频怎么光线调暗 浏览:539
可以中文解压的解压软件 浏览:591
安卓卸载组件应用怎么安装 浏览:911
使用面向对象编程的方式 浏览:338
程序员项目经理的年终总结范文 浏览:928
内衣的加密设计用来干嘛的 浏览:431
淮安数据加密 浏览:291
魔高一丈指标源码 浏览:981
松下php研究所 浏览:167
c回调java 浏览:398
梦幻端游长安地图互通源码 浏览:744
电脑本地文件如何上传服务器 浏览:311