A list,

In 1974, J.Morlet, a French engineer, first proposed the concept of wavelet transform. In 1986, y.Meyer, a famous mathematician, accidentally constructed a real wavelet basis and cooperated with S.Mallat to establish the multi-scale analysis of constructing wavelet basis, wavelet analysis began to flourish. The application of wavelet analysis is very extensive. In mathematics, it has been used in numerical analysis, construction of rapid numerical methods, curve and surface construction, differential equation solution, cybernetics and so on. In signal analysis of filtering, noise, compression, transmission, etc. In the aspect of image processing, image compression, classification, recognition and diagnosis, noise removal, etc. This chapter will focus on the application of wavelet in image analysis.

1 principle of wavelet transform

Wavelet analysis is a difficult branch, users can use wavelet transform, image compression, vibration signal decomposition and reconstruction, so it is widely used in practical engineering. Wavelet analysis Compared with Fourier transform, wavelet transform is the local transformation of space domain and frequency domain, so it can effectively extract information from signals. Wavelet transform achieves multi-scale decomposition and reconstruction of signals through basic operations such as stretching and shifting, thus solving many problems caused by Fourier transform to a large extent.

Wavelet analysis is a new branch of mathematics, which is the perfect crystallization of functional analysis, Fourier analysis and numerical analysis. Wavelet analysis is also a new technique of “time-scale” analysis and multi-resolution analysis. It is widely used in signal analysis, speech synthesis, image compression and recognition, atmospheric and ocean wave analysis and so on.

(1) Wavelet analysis is used for signal and image compression. Wavelet compression is characterized by high compression ratio and fast compression speed. It can keep the characteristics of signal and image unchanged after compression, and can resist interference in transmission. There are many compression methods based on wavelet analysis, including wavelet compression, wavelet packet compression, wavelet transform vector compression and so on.

(2) Wavelet can also be used for signal filtering and denoising, signal time-frequency analysis, signal noise separation and weak signal extraction, fractal index, signal recognition and diagnosis and multi-scale edge detection, etc.

(3) The application of wavelet analysis in engineering technology, including computer vision, curve design, turbulence, remote universe research and biomedicine.

Multiscale analysis



3 image decomposition and quantization



4 image compression coding



5. Image coding evaluation

Ii. Source code

function varargout = imageprocess(varargin)
% IMAGEPROCESS MATLAB code for imageprocess.fig
%      IMAGEPROCESS, by itself, creates a new IMAGEPROCESS or raises the existing
%      singleton*.
%
%      H = IMAGEPROCESS returns the handle to a new IMAGEPROCESS or the handle to
%      the existing singleton*.
%
%      IMAGEPROCESS('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in IMAGEPROCESS.M with the given input arguments.
%
%      IMAGEPROCESS('Property','Value',...) creates a new IMAGEPROCESS or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before imageprocess_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to imageprocess_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 imageprocess

% Last Modified by GUIDE v2.5 21-Apr-2015 22:09:41

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @imageprocess_OpeningFcn, ...
                   'gui_OutputFcn',  @imageprocess_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if 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 imageprocess is made visible.
function imageprocess_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 imageprocess (see VARARGIN)

% Choose default command line output for imageprocess
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes imageprocess wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = imageprocess_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 structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


global im1
[filename, pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.jpg';'*.png'},'打开图片');
str1=[pathname filename]; 
im1=imread(str1); 
axes(handles.axes1); 
imshow(im1);


% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global im2
[filename, pathname]=uigetfile({'*.*';'*.bmp';'*.jpg';'*.tif';'*.jpg';'*.png'},'打开图片');
str1=[pathname filename]; 
im2=imread(str1); 
axes(handles.axes2); 
imshow(im2);

% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton7 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
close(gcf);





% --- Executes during object creation, after setting all properties.
function axes3_CreateFcn(hObject, eventdata, handles)
% hObject    handle to axes3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: place code in OpeningFcn to populate axes3


% --- Executes on button press in pushbutton3.
function pushbutton11_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --- Executes when selected object is changed in uipanel2.


% --- Executes when selected object is changed in uipanel3.
function uipanel3_SelectionChangeFcn(hObject, eventdata, handles)
% hObject    handle to the selected object in uipanel3 
% eventdata  structure with the following fields (see UIBUTTONGROUP)
%	EventName: string 'SelectionChanged' (read only)
%	OldValue: handle of the previously selected object or empty if none was selected
%	NewValue: handle of the currently selected object
% handles    structure with handles and user data (see GUIDATA)



% --------------------------------------------------------------------
function Untitled_1_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function Untitled_3_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_3 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function Untitled_13_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_13 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function Untitled_27_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_27 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function Untitled_28_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_28 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
global im1
global im2
im11 = double(im1)/255; 
im22 = double(im2)/255; 
 
%普拉斯金塔变换参数 
mp = 3;zt =4; cf =1;ar = 1; cc = [cf ar];     
Y_lap = fuse_lap(im11,im22,zt,cc,mp); 

axes(handles.axes4); 
imshow(Y_lap);


% --------------------------------------------------------------------
function Untitled_29_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_29 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --------------------------------------------------------------------
function Untitled_14_Callback(hObject, eventdata, handles)
% hObject    handle to Untitled_14 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
im=handles.img;
se=strel('disk',4);
im3=imerode(im,se);
axes(handles.axes3); 
imshow(im3);
handles.img=im3;
guidata(hObject,handles); 
Copy the code

3. Operation results