【图像去噪】基于butterworth滤波器、中值、维纳、小波算法实现图像去噪含GUI

简介: 【图像去噪】基于butterworth滤波器、中值、维纳、小波算法实现图像去噪含GUI

1 简介

 1.1图像处理的概念

数字图像处理(Digital Image Processing)是通过计算机将图像信号转换成数字信号并对其进行去除噪声、增强、复原、分割、提取特征等处理的过程。

早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。如今,图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,如航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等。数字图像处理在通信领域有特殊的用途及应用前景。传真通信、可视电话、会议电视、多媒体通信、计算机视觉,以及宽带综合业务数字网(B-ISDN)和高清晰度电视(HDTV)都采用了数字图像处理技术。

  1.2噪声描述及类型

对人类来说,噪声可以理解为" 妨碍人们感觉器官对所接收的信源信息理解的因素"。而图像中各种妨碍人们对其信息接收的因素就是图像噪声。对信号来说,噪声是一种外部干扰,但噪声本身也是一种信号,只不过它携带的是噪声源的信息而已。信噪比(SNR)是衡量噪声强度的一个重要参数。噪声在理论上定义为"不可预测,只能用概率统计方法来认识的随机误差"。因此可将图像噪声看成是多维随机过程,描述噪声的方法也可以借用随机过程的描述,即概率分布函数和概率密度函数。

由噪声的形成原因,可将噪声分为以下几种:

(1)热噪声,即导电载流子由于热扰动产生的噪声,一般认为它可以产生对不同波长有相同能量的频谱。

(2)闪烁噪声,即电流运动导致的噪声,一般具有反比于频率的频谱,也称为1/f噪声或者粉色噪声。

(3)发射噪声,即电子运动随机性的结果,也称为房顶雨。

(4)有色噪声,级具有非白色频谱的宽带噪声,如粉色噪声和褐色噪声。

由噪声的概率密度函数可以将噪声分为高斯噪声、均匀噪声、脉冲噪声。

  1.3图像恢复的意义

一般地,对图像进行处理的主要目的有三个方面:

(1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。

(2)提取图像中所包含的某些特征或特殊信息。提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。

(3)图像数据的变换、编码和压缩,以便于图像的存储和传输。

而图像恢复是图像处理的重要组成部分。图像恢复是通过计算机处理,对质量下降的图像加以重建或恢复的处理过程。因摄像机与物体相对运动、系统误差、畸变、噪声等因素的影响,使图像往往不是真实景物的完善映像,此时就需要进行图像恢复处理。在图像恢复中,需建立造成图像质量下降的退化模型,然后运用相反过程来恢复原来图像,并运用一定准则来判定是否得到图像的最佳恢复。

2 部分代码

function varargout = GUI_3(varargin)% GUI_3 MATLAB code for GUI_3.fig%      GUI_3, by itself, creates a new GUI_3 or raises the existing%      singleton*.%%      H = GUI_3 returns the handle to a new GUI_3 or the handle to%      the existing singleton*.%%      GUI_3('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in GUI_3.M with the given input arguments.%%      GUI_3('Property','Value',...) creates a new GUI_3 or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before GUI_3_OpeningFcn gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to GUI_3_OpeningFcn via varargin.%%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one%      instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help GUI_3% Last Modified by GUIDE v2.5 27-Apr-2013 11:43:14% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @GUI_3_OpeningFcn, ...                   'gui_OutputFcn',  @GUI_3_OutputFcn, ...                   'gui_LayoutFcn',  [] , ...                   'gui_Callback',   []);if nargin && ischar(varargin{1})    gui_State.gui_Callback = str2func(varargin{1});endif nargout    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else    gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before GUI_3 is made visible.function GUI_3_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% varargin   command line arguments to GUI_3 (see VARARGIN)% Choose default command line output for GUI_3handles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes GUI_3 wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = GUI_3_OutputFcn(hObject, eventdata, handles) % varargout  cell array for returning output args (see VARARGOUT);% hObject    handle to figure% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;

3 仿真结果

4 参考文献

[1]张小波. 基于维纳滤波的图像去噪算法研究[D]. 西安电子科技大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

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

相关文章
|
6月前
|
算法 计算机视觉
基于马尔可夫随机场的图像去噪算法matlab仿真
基于马尔可夫随机场的图像去噪算法matlab仿真
|
存储 编解码 算法
基于正交滤波器组的语音DPCM编解码算法matlab仿真
基于正交滤波器组的语音DPCM编解码算法matlab仿真
|
1月前
|
算法 决策智能
基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数
该程序基于禁忌搜索算法求解车辆路径问题(VRP),使用MATLAB2022a版本实现,并带有GUI界面。用户可通过界面设置参数并查看结果。禁忌搜索算法通过迭代改进当前解,并利用记忆机制避免陷入局部最优。程序包含初始化、定义邻域结构、设置禁忌列表等步骤,最终输出最优路径和相关数据图表。
|
6月前
|
数据采集 算法 数据可视化
python实现时序平滑算法SG滤波器
python实现时序平滑算法SG滤波器
|
6月前
|
算法
【MATLAB】语音信号识别与处理:滤波器滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:滤波器滤波算法去噪及谱相减算法呈现频谱
163 2
|
机器学习/深度学习 传感器 算法
【图像去噪】基于自适应小波阈值算法实现图像去噪附matlab源码
【图像去噪】基于自适应小波阈值算法实现图像去噪附matlab源码
|
数据采集 人工智能 算法
基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
基于模板匹配算法的车牌数字字母识别matlab仿真,带GUI界面
|
机器学习/深度学习 传感器 算法
【滤波跟踪】基于IMM多模滤波器和全局最近邻GNN算法实现雷达多机动目标自适应跟踪附matlab代码
【滤波跟踪】基于IMM多模滤波器和全局最近邻GNN算法实现雷达多机动目标自适应跟踪附matlab代码
【滤波跟踪】基于IMM多模滤波器和全局最近邻GNN算法实现雷达多机动目标自适应跟踪附matlab代码
|
算法 计算机视觉
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
【图像去噪】基于进化算法——自组织迁移算法(SOMA)的图像去噪研究(Matlab代码实现)
127 0
|
传感器 数据采集 算法
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)
162 0