Code covered by the BSD License  

Highlights from
Hierarchical RGB IMage Compression with GUI

image thumbnail

Hierarchical RGB IMage Compression with GUI

by

 

The code performs Hierarchical image Compression on RGB image and presents the results with a GUI

hierarchical(varargin)
function varargout = hierarchical(varargin)
% HIERARCHICAL Application M-file for hierarchical.fig
%    FIG = HIERARCHICAL launch hierarchical GUI.
%    HIERARCHICAL('callback_name', ...) invoke the named callback.

% Last Modified by GUIDE v2.5 29-Jan-2013 20:45:16

if nargin == 0  % LAUNCH GUI

	fig = openfig(mfilename,'reuse');

	% Generate a structure of handles to pass to callbacks, and store it. 
	handles = guihandles(fig);
    handles.sBmp = imread('bmp.bmp'); 
    handles.directory=pwd;
    guidata(fig, handles);
%Compress_Callback(handles.Compress,[],handles);
%***************************************
    
    
	if nargout > 0
		varargout{1} = fig;
	end

    
elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK

	try
		if (nargout)
			[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard
		else
			feval(varargin{:}); % FEVAL switchyard
		end
	catch
		disp(lasterr);
	end

end


%| ABOUT CALLBACKS:
%| GUIDE automatically appends subfunction prototypes to this file, and 
%| sets objects' callback properties to call them through the FEVAL 
%| switchyard above. This comment describes that mechanism.
%|
%| Each callback subfunction declaration has the following form:
%| <SUBFUNCTION_NAME>(H, EVENTDATA, HANDLES, VARARGIN)
%|
%| The subfunction name is composed using the object's Tag and the 
%| callback type separated by '_', e.g. 'slider2_Callback',
%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.
%|
%| H is the callback object's handle (obtained using GCBO).
%|
%| EVENTDATA is empty, but reserved for future use.
%|
%| HANDLES is a structure containing handles of components in GUI using
%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This
%| structure is created at GUI startup using GUIHANDLES and stored in
%| the figure's application data using GUIDATA. A copy of the structure
%| is passed to each callback.  You can store additional information in
%| this structure at GUI startup, and you can change the structure
%| during callbacks.  Call guidata(h, handles) after changing your
%| copy to replace the stored original so that subsequent callbacks see
%| the updates. Type "help guihandles" and "help guidata" for more
%| information.
%|
%| VARARGIN contains any extra arguments you have passed to the
%| callback. Specify the extra arguments by editing the callback
%| property in the inspector. By default, GUIDE sets the property to:
%| <MFILENAME>('<SUBFUNCTION_NAME>', gcbo, [], guidata(gcbo))
%| Add any extra arguments after the last argument, before the final
%| closing parenthesis.
% --- Executes during object creation, after setting all properties.
function s2ac_CreateFcn(hObject, eventdata, handles)
% hObject    handle to s2ac (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end



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

% Hints: get(hObject,'String') returns contents of s2ac as text
%        str2double(get(hObject,'String')) returns contents of s2ac as a double


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

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end



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

% Hints: get(hObject,'String') returns contents of s1dc as text
%        str2double(get(hObject,'String')) returns contents of s1dc as a double


% --- Executes during object creation, after setting all properties.

% --------------------------------------------------------------------
function varargout = slider1_Callback(h, eventdata, handles, varargin)
set(handles.edit1,'String',...
    num2str(get(handles.slider1,'Value')));

% --------------------------------------------------------------------
function varargout = edit1_Callback(h, eventdata, handles, varargin)

% --------------------------------------------------------------------
function varargout = LoadImage_Callback(h, eventdata, handles, varargin)
    clc;
    subplot(1,1,1);
    set(handles.waitcontrol,'String','please wait ...');
    set(handles.waitcontrol,'visible','on');
    cpath=handles.directory;  
	[filename,pathname]=uigetfile([cpath,'\images\*.bmp'],'Select a Bmp file to be searched');
	handles.sBmp = imread(strcat(pathname,filename));   
%plot data    
    imshow(handles.sBmp); 
    set(handles.waitcontrol,'visible','off');
    drawnow;
%save data
    guidata(h,handles);
% --------------------------------------------------------------------
function varargout = Compress_Callback(h, eventdata, handles, varargin)
  set(handles.waitcontrol,'visible','on');
  drawnow;
  mm = (get(handles.slider1,'Value'));
  [s1,s2,s3]=jpeg(handles.sBmp,mm,0);
  set(handles.waitcontrol,'visible','off');
  drawnow;


% --- Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton5 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
 set(handles.waitcontrol,'visible','on');
  drawnow;
  mm = (get(handles.slider1,'Value'));
  [s1]=regularjpeg(handles.sBmp,mm,0);
  set(handles.waitcontrol,'visible','off');
  drawnow;

Contact us