首页 > 其他分享 >MATLAB实现图像小波变换去噪

MATLAB实现图像小波变换去噪

时间:2023-11-30 21:35:52浏览次数:44  
标签:变换 imshow sym4 uint8 jpg a1 MATLAB 图像


clear;                   
[A,map]=imread('C:\Users\wangd\Documents\MATLAB\1.jpg');                
X=rgb2gray(A);  
%画出原始图像  
subplot(2,2,1);imshow(X);
title('原始图像');  
%产生含噪图像  
x=imnoise(X ,'gaussian',0,0.003);
%画出含噪图像  
subplot(2,2,2);imshow(x);  
title('含噪声图像');  
%下面进行图像的去噪处理  
%用小波函数sym4对x进行2层小波分解  
[c,s]=wavedec2(x,2,'sym4');  
%提取小波分解中第一层的低频图像,即实现了低通滤波去噪  
a1=wrcoef2('a',c,s,'sym4');  % a1为 double 型数据;
%画出去噪后的图像  
subplot(2,2,3); imshow(uint8(a1)); % 注意 imshow()和image()显示图像有区别,imshow()不能显示 double 型数据,必须进行转换 uint8(a1);
title('第一次去噪图像');           % 并且image() 显示图像有坐标;
%提取小波分解中第二层的低频图像,即实现了低通滤波去噪  
%相当于把第一层的低频图像经过再一次的低频滤波处理  
a2=wrcoef2('a',c,s,'sym4',2);  
%画出去噪后的图像  
subplot(2,2,4); imshow(uint8(a2)); %image(a2);
title('第二次去噪图像');
%保存图像  
imwrite(x,'C:\Users\wangd\Desktop\2.jpg');
imwrite(uint8(a1),'C:\Users\wangd\Desktop\3.jpg'); %imwrite()保存图像,也需要将数据类型转化为uint8
imwrite(uint8(a2),'C:\Users\wangd\Desktop\4.jpg');
点击并拖拽以移动

 

小波变换的多种去噪方法

小波去噪

标签:变换,imshow,sym4,uint8,jpg,a1,MATLAB,图像
From: https://www.cnblogs.com/bbhhh/p/17868406.html

相关文章

  • 刚硬矩阵 (2) Walsh–Hadamard 变换的 "更快" 算法
    \(\newcommand{\sfT}{\mathsfT}\newcommand{\rank}{\operatorname{rank}}\)为了避免歧义,我们这里约定\[H=\begin{bmatrix}1&1\\1&-1\end{bmatrix},\]以及\(2^n\times2^n\)的Hadamard矩阵写作\(H^{\otimesn}\).令\(N=2^n\).低深度电路的算法这里我们......
  • 基于FPGA的图像白平衡算法实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览    2.算法运行软件版本vivado2019.2 matlab2022a 3.算法理论概述       FPGA(Field-ProgrammableGateArray)是一种可编程逻辑电路,可以通过编程实现各种算法,包括图像白平衡算法。图像白平衡算法是一种用于调整图像颜色温度的方法,......
  • 基于MUSIC算法的二维超声波成像matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本matlab2022a 3.算法理论概述      MUSIC(MultipleSignalClassification)算法是一种广泛应用于信号处理领域的算法,它可以用于估计信号的波达方向或频率。在超声波成像中,MUSIC算法可以用于提高图像的分辨率和降低......
  • matlab图像频谱图画图
    I=imread('C:\Users\wangd\Desktop\in000155.jpg');%读入原图像文件I1=rgb2gray(I);subplot(1,2,1);imshow(I1);%显示原图像fftI1=fft2(I1);%二维离散傅立叶变换sfftI1=fftshift(fftI1);%直流分量移到频谱中心RR1=re......
  • matlab在图像中随机更改像素值程序
    I=imread('C:\Users\wangd\Desktop\result3.png');%m=rgb2gray(I);%r=unidrnd(255,1,100);%产生一个1*100的数组,数组中的值为1至255中的随机值%r1=randi([2,7],10,100);%在开区间(2,7)生成10*100型随机矩阵subplot(2,2,1);imshow(I);title('原始图像');forw=1:......
  • matlab一维信号频谱图仿真
    程序1:%在MATLAB中是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当采样时间间隔足够小时,这些离散的采样值就能较好地近似出连续信号,matlab中连续信号的显示实际上还是离散信号的显示,只是取样点特别%多的时候,用线连接起来,显示出来的图形就比较圆滑,接近连续信号;如果取......
  • 工业4.0时代:图像识别驱动制造业智能生产的未来
    在数字化革命的大潮中,工业4.0的到来标志着制造业将迎来全新的智能化时代。其中,图像识别技术作为一项核心技术,正引领着制造业实现了前所未有的智能生产。本文将深入探讨工业4.0时代下,图像识别是如何驱动制造业实现智能生产,并对未来的发展趋势进行展望。**数字化转型的浪潮**工业4.0......
  • 03. 离散傅里叶变换
    离散傅里叶级数对一个周期为N的序列,其离散傅里叶级数有:\[\tilde{x}(n)=\frac{1}{N}\sum\limits_{k=0}^{N-1}\tilde{X}[k]e^{j\frac{2\pi}{N}kn}\tag{1.1}\]两边同时乘以\(e^{-j\frac{2\pi}{N}rn}\),并累加有:\[\sum\limits_{n=0}^{N-1}\tilde{x}(n)e^{-j\frac{2\pi}{N}rn}......
  • python图像中如何 绘制矩形,编辑文案,保存结果图片等操作
    python版opencv函数学习笔记-cv.rectangle()全参数理解cv2.rectangle(img,pt1,pt2,color,thickness=None,lineType=None,shift=None)以下来自官方文档和自己的理解img:指定一张图片,在这张图片的基础上进行绘制;pt1:矩形的一个顶点;pt2:与pt1在对角线上相对的矩形的顶点;......
  • 数字图像处理第五章
    数字图像处理5.频域图像增强(1)空域图像增强和频域图像增强结合起来是图像增强技术的完整内容。(2)频谱:频谱是在频域中反应了图像幅度和相位随频率分布情况的描述图像特征的方法。​ ①图像平坦区域对应频谱中低频成分,图像细节内容对应频谱中高频成分。​ ②频域图像增强利用......