ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【图像去噪】基于小波阈值实现图像去噪matlab代码

2021-12-29 12:59:05  阅读:162  来源: 互联网

标签:图像去噪 阈值 sum 于小波 revers1 算法 matlab x1


 1 简介

针对一些混合噪声在图像处理过程中存在的问题及经典的图像去噪算法进行分析,以小变换为基础,提出一种小波阈值函数构建的图像去噪算法.研究过程以加性高斯和乘性斑点两种图像噪声的模型构建为基础,找出图像噪声出现概率的分布函数是区分和有效控制噪声的前提条件;通过对小波阈值去噪的原理进行分析,明确小波阈值去噪的小波频率分解,构建小波阈值函数及计算函数,重构图像三个关键流程;通过对硬阈值,软阈值和半软半硬阈值三种图像去噪算法进行分析,找出三种算法中存在的关键问题,提出在阈值处具有连续性,阈值函数具有线性,阈值函数具有可微可导性,计算的阈值结果在预估阈值区域具有平滑过度性,是获取最佳阈值计算结果的四个重要条件.针对阈值函数的构建,采用MATLAB仿真实验,对硬阈值算法,软阈值算法和本文阈值算法进行线性处理后的输出结果统计;以三幅实验图像为对象,对硬阈值算法,半软半硬阈值算法和本文提出的算法进行去噪效果统计;并根据图像去噪的主要目的所在,对采用的三种算法进行图像去噪后,进行图像边缘特征提取实验.实现结果表明:本文算法中构建的阈值函数,在理想阈值和预估阈值相等处都具有连续性,所确定的小波平缓系数,起到较好的平滑作用,且有助于求导计算.

2 部分代码

clc
clear all
close all
I=imread('1.jpg');%读入图像的值为无符号型unit8(),进行矩阵操作前必须先转换为矩阵运算所支持的double()双精度型。
x1=rgb2gray(I);
x1=imresize(x1,[1824,1960]);
figure(1);
subplot(2,3,1)
imshow(I);
title('原图');
% [Sh00]=Soft(h00,t);
[Sh01]=Soft(h01,t);
[Sh10]=Soft(h10,t);
[Sh11]=Soft(h11,t);
%图像重构
[S1]=revers1(h00,Sh01);
[S2]=revers1(Sh10,Sh11);
[S3]=revers1(S1',S2');
%软阈值去噪后的信噪比
SNRS=10*log(sum(x1.^2)/(sum((S3-x1).^2)));
y2=uint8(S3);
subplot(2,3,5)
imshow(y2);
title(['软阈值去噪,信噪比=',num2str(SNRS)]);

% %% 半软半硬阈值去噪
% % [HSh00]=HardSoft(h00,t);
% [HSh01]=HardSoft(h01,t);
% [HSh10]=HardSoft(h10,t);
% [HSh11]=HardSoft(h11,t);
% %图像重构
% [HS1]=revers1(h00,HSh01);
% [HS2]=revers1(HSh10,HSh11);
% [HS3]=revers1(HS1',HS2');
% %半软半硬阈值去噪后的信噪比
% SNRHS=10*log(sum(x1.^2)/(sum((HS3-x1).^2)));
% y3=uint8(HS3);
% subplot(2,3,5)
% imshow(y3);
% title(['半软半硬阈值去噪,信噪比=',num2str(SNRHS)]);

%% DCT去噪
%DCT变换
Y=dct2(x2); 
[m,n]=size(x1);
I=zeros(m,n);
%高频屏蔽
I(1:m/3,1:n/3)=1; 
Ydct=Y.*I;
%逆DCT变换
Y=double(idct2(Ydct)); 
SNRDCT=10*log(sum(x1.^2)/(sum((Y-x1).^2)));
%结果输出
subplot(236);
imshow(uint8(Y));
title(['离散余弦变换去噪,信噪比=',num2str(SNRDCT)]);

3 仿真结果

4 参考文献

[1]万庄姝等. "一种小波阈值函数构建的图像去噪算法研究." 现代计算机 3(2021):7.​

部分理论引用网络文献,若有侵权联系博主删除。

5 MATLAB代码与数据下载地址

见博客主页

标签:图像去噪,阈值,sum,于小波,revers1,算法,matlab,x1
来源: https://blog.csdn.net/qq_59747472/article/details/122213223

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有