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 = ImageProcessingGUI(varargin)
% IMAGEPROCESSINGGUI MATLAB code for ImageProcessingGUI.fig
% IMAGEPROCESSINGGUI, by itself, creates a new IMAGEPROCESSINGGUI or raises the existing
% singleton*.
%
% H = IMAGEPROCESSINGGUI returns the handle to a new IMAGEPROCESSINGGUI or the handle to
% the existing singleton*.
%
% IMAGEPROCESSINGGUI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in IMAGEPROCESSINGGUI.M with the given input arguments.
%
% IMAGEPROCESSINGGUI('Property'.'Value',...). creates anew IMAGEPROCESSINGGUI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before ImageProcessingGUI_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to ImageProcessingGUI_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 ImageProcessingGUI
% Last Modified by GUIDE v2. 5 22-Apr- 2021. 17:38:13
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @ImageProcessingGUI_OpeningFcn, ...
'gui_OutputFcn', @ImageProcessingGUI_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 ImageProcessingGUI is made visible.
function ImageProcessingGUI_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 ImageProcessingGUI (see VARARGIN)
% Choose default command line output for ImageProcessingGUI
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes ImageProcessingGUI wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = ImageProcessingGUI_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)%(1)Face gradient system hObject handle topushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)Read the original image and target image originG= handles.SelectedImageOne;
targetG = handles.SelectedImageTwo;
axes(handles.axes1);
imshow(originG);
xlabel('Original image');
axes(handles.axes2);
imshow(targetG);
xlabel('Target image');
axes(handles.axes3);
l = 5;
N = 15;
P=N*l;
for k=0:P
I2=(1-k/P)*originG +(k/P)*targetG; %% linear superposition principle image(I2); axis off; axis equal; M=getframe;end
movie(M,1,P);
imshow(I2);
xlabel('Face gradient rendering');
guidata(hObject,handles);
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles) %(2)Image Mosaic function hObject handle topushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1);
img1 = handles.SelectedImageOne;
imshow(img1);
xlabel('Left image');
axes(handles.axes2);
img2 = handles.SelectedImageTwo;
imshow(img2);
xlabel('Image on the right');
axes(handles.axes3);
img0 = imMosaic(img2,img1,1); % call image Mosaic function imshow(img0); xlabel('Image Mosaic Renderings'); guidata(hObject,handles); % update construction % -- Executes on button press in PUSHbutton3function pushbutton3_Callback(hObject, eventdata, handles) %(3)Image focus fusion function hObject handle topushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)% loads left image A=handles.SelectedImageOne;
X2=rgb2gray(A);
%显示聚焦图像
axes(handles.axes1);
xlabel('Left focus image'); Axis Square % loads the image on the right like I=handles.SelectedImageTwo; X1=rgb2gray(I); Axes (handles. Axes2); xlabel('Right focus image'); [c1,s1]=wavedec2(X1, wavedec2)2.'sym4');
sizec1=size(c1);
for I=1:sizec1(2)
c1(I)=1.2*c1(I);
end
[c2,s2]=wavedec2(X2,2.'sym4');
c=c1+c2;
c=0.5*c;
s=s1+s2;
s=0.5*s;
xx=waverec2(c,s,'sym4'); Axes (handles. Axes3); imshow(xx,[]),xlabel('Fused image');
axis square
guidata(hObject,handles);
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)% turn off image function % hObject Handle topushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axes(handles.axes1);
cla reset;
axes(handles.axes2);
cla reset;
axes(handles.axes3);
cla reset;
guidata(hObject,handles);
% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)% Exit system function % hObject Handle topushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
close;
Copy the code
3. Operation results
Fourth, note
Version: 2014 a