function varargout = TImage(varargin)
% TIMAGE M-file for TImage.fig
% TIMAGE, by itself, creates a new TIMAGE or raises the existing
% singleton*.
%
% H = TIMAGE returns the handle to a new TIMAGE or the handle to
% the existing singleton*.
%
% TIMAGE('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in TIMAGE.M with the given input arguments.
%
% TIMAGE('Property','Value',...) creates a new TIMAGE or raises the
% existing singleton*. Starting from the left, property value pairs
% are
% applied to the GUI before TImage_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to TImage_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 TImage
% Last Modified by GUIDE v2.5 16-Jun-2016 20:09:16
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @TImage_OpeningFcn, ...
'gui_OutputFcn', @TImage_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 TImage is made visible.
function TImage_OpeningFcn(hObject, eventdata, handles, varargin)
% Choose default command line output for TImage
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
%%%%%%%%%%%%%%%%%%%%%% lecture de l'image par defaut %%%%%%%%
global T1 T2
Nom='C:\Users\Wassim\Desktop\matlab\saharasunrise-001.jpg';
T1=imread(Nom);
T2=T1;
axes(handles.axes1)
set(handles.Histogramme,'Visible','off')%image couleur donc désactiver les boutons histogrammes
set(handles.Histogramme2,'Visible','off')
imshow(T1);
axes(handles.axes2)
imshow(T2)
% --- Outputs from this function are returned to the command line.
function varargout = TImage_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;
function Ouvrir_Callback(hObject, eventdata, handles)
global T1
global T2
[Fichier,Dossier] = uigetfile({'*.*'},'Choisissez une image'); % Choisir une image
% if isequal(Fichier,0)
% disp('Image non acquise')
% else
% disp(['Image acquise ', fullfile(Dossier,Fichier)])
% end
% disp(fullfile(Dossier,Fichier))
T1=imread(fullfile(Dossier,Fichier));
axes(handles.axes1)
[M,N,P]=size(T1);
if(P==3)
set(handles.Histogramme,'Visible','off')%image couleur donc désactiver les boutons histogrammes
set(handles.Histogramme2,'Visible','off')
else
set(handles.Histogramme,'Visible','on')
set(handles.Histogramme2,'Visible','on')
end
imshow(T1);
T2=T1;
axes(handles.axes2)
%T2=imcrop(T1);
imshow(T2)
handles.ImgPret=T1;
guidata(hObject,handles)
function Histogramme_Callback(hObject, eventdata, handles)
global T1;
figure; imhist(T1);
function Histogramme2_Callback(hObject, eventdata, handles)
global T2;
figure; imhist(T2);
function Untitled_2_Callback(hObject, eventdata, handles)
function Untitled_7_Callback(hObject, eventdata, handles)
function Untitled_9_Callback(hObject, eventdata, handles)
function Untitled_10_Callback(hObject, eventdata, handles)
function Untitled_11_Callback(hObject, eventdata, handles)
function Apercu_Callback(hObject, eventdata, handles)
Printpreview;
function Imprimer_Callback(hObject, eventdata, handles)
print
function Rehaus_Reca_Callback(hObject, eventdata, handles)
global T1
global T2
axes(handles.axes2)
Mi=min(min(min(T1)))
Ma=max(max(max(T1)))
T2=uint8(zeros(size(T1)));
T2=double(255)/double(Ma-Mi)*(T1-Mi);
imshow(T2)
function Rehau_Egal_Hist_Callback(hObject, eventdata, handles)
global T1
global T2
axes(handles.axes2)
[M,N,P]=size(T1);
if(P==3)%image en couleur
for i=1:3
T3=T1(:,:,i);
T4=histeq(T3);
T2(:,:,i)=T4;
end
else T2=histeq(T1);%image en noir et blanc
end
imshow(T2);
function Quitter_Callback(hObject, eventdata, handles)
close
function Luminance_Callback(hObject, eventdata, handles)
global T1
global T2
%lecture de la valeur
Lur = get(handles.Lumin,'String'); %lecture de X1
Lu=str2double(Lur);
axes(handles.axes2)
T2=T1+Lu;
imshow(T2);
function Lumin_Callback(hObject, eventdata, handles)
function Lumin_CreateFcn(hObject, eventdata, handles)
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function Lisseur_Callback(hObject, eventdata, handles)
% 'Caractéristiques du filtre');
prompt = {'Donner la taille du masque h:'};
dlg_title = 'Caractéristiques du filtre';
def = {'3'};
x = inputdlg(prompt,dlg_title,1,def);%1 : nombre de ligne
hsize=str2double(x);
h=fspecial('average',hsize);
Filtrage_Affichage(hObject, eventdata, handles,h)
function Laplacien4_Callback(hObject, eventdata, handles)
global T1
global T2
prompt = {'Donner la taille du masque h:','Donner Sigma (0<=sigma<=1):'};
dlg_title = 'Caractéristiques du filtre';
def = {'3','0.2'};
x = inputdlg(prompt,dlg_title,1,def);%1 : nombre de ligne
hsize=str2double(x(1));
sigma=str2double(x(2));
h=fspecial('laplacian',sigma);
Filtrage_Affichage(hObject, eventdata, handles,h)
function Untitled_18_Callback(hObject, eventdata, handles)
function C_Sobel_Callback(hObject, eventdata, handles)
global T1
global T2
[M,N,P]=size(T1);
if (P==3) T3=rgb2gray(T1);
else T3=T1;
end
T2=edge(T3,'sobel') ;
axes(handles.axes2)
imshow(T2);
function C_Roberts_Callback(hObject, eventdata, handles)
global T1
global T2
[M,N,P]=size(T1);
if (P==3) T3=rgb2gray(T1);
else T3=T1;
end
T2=edge(T3,'roberts') ;
axes(handles.axes2)
imshow(T2);
function C_Prewitt_Callback(hObject, eventdata, handles)
global T1
global T2
[M,N,P]=size(T1);
if (P==3) T3=rgb2gray(T1);
else T3=T1;
end
T2=edge(T3,'prewitt') ;
axes(handles.axes2)
imshow(T2);
function C_Log_Callback(hObject, eventdata, handles)
global T1
global T2
[M,N,P]=size(T1);
if (P==3) T3=rgb2gray(T1);
else T3=T1;
end
T2=edge(T3,'log') ;
axes(handles.axes2)
imshow(T2);
function C_Canny_Callback(hObject, eventdata, handles)
global T1
global T2
[M,N,P]=size(T1);
if (P==3) T3=rgb2gray(T1);
else T3=T1;
end
T2=edge(T3,'canny') ;
axes(handles.axes2)
imshow(T2);
function Untitled_19_Callback(hObject, eventdata, handles)
function Untitled_20_Callback(hObject, eventdata, handles)
function Untitled_21_Callback(hObject, eventdata, handles)
function Rehau_Adaptatif_Callback(hObject, eventdata, handles)
global T1
global T2
axes(handles.axes2)
T2=adapthisteq(T1);
imshow(T2)
function prewitt_Callback(hObject, eventdata, handles)
% 'Caractéristiques du filtre');
h=fspecial('prewitt');
Filtrage_Affichage(hObject, eventdata, handles,h)
function Unsharp_Callback(hObject, eventdata, handles)
% 'Caractéristiques du filtre');
prompt = {'Donner alpha (0<=alpha<=1) :'};
dlg_title = 'Caractéristiques du filtre';
def = {'0.2'};
x = inputdlg(prompt,dlg_title,1,def);%1 : nombre de ligne
alpha=str2double(x);
h=fspecial('unsharp',alpha);
Filtrage_Affichage(hObject, eventdata, handles,h)
function Gaussien_Callback(hObject,