function varargout = MainForm(varargin)
% MAINFORM MATLAB code for MainForm.fig
% MAINFORM, by itself, creates a new MAINFORM or raises the existing
% singleton*.
%
% H = MAINFORM returns the handle to a new MAINFORM or the handle to
% the existing singleton*.
%
% MAINFORM('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in MAINFORM.M with the given input arguments.
%
% MAINFORM('Property','Value',...) creates a new MAINFORM or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before MainForm_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to MainForm_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 MainForm
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @MainForm_OpeningFcn, ...
'gui_OutputFcn', @MainForm_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 MainForm is made visible.
function MainForm_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 MainForm (see VARARGIN)
% Choose default command line output for MainForm
handles.output = hObject;
InitAxes(handles);
handles.filePath = 0;
handles.vec_hu = 0;
handles.vec_color = 0;
handles.Img = 0;
handles.ind_dis_sort = 0;
handles.page = 0;
handles.H = 0;
% Update handles structure
guidata(hObject, handles);
% javaFrame = get(hObject, 'JavaFrame');
% javaFrame.setFigureIcon(javax.swing.ImageIcon('MainForm.jpg'));
% UIWAIT makes MainForm wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = MainForm_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 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)
if handles.page < 2
return;
end
page = handles.page;
ind_dis_sort = handles.ind_dis_sort;
H = handles.H;
page = page - 1;
st = (page-1)*8+1;
et = page*8;
for i = st : et
file = fullfile(pwd, sprintf('%s', H(ind_dis_sort(i)).filename));
Img = imread(file);
imshow(Img, [], 'parent', eval(sprintf('handles.axes%d', (i-(page-1)*8)+1)));
axes(eval(sprintf('handles.axes%d', (i-(page-1)*8)+1)));
title(sprintf('%02d', i));
end
handles.ind_dis_sort = ind_dis_sort;
handles.page = page;
guidata(hObject, handles);
set(handles.textpage, 'String', sprintf('第%d页/共2页', page));
% --- Executes on button press in pushbutton8.
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if handles.page >= 2
return;
end
page = handles.page;
ind_dis_sort = handles.ind_dis_sort;
H = handles.H;
page = page + 1;
st = (page-1)*8+1;
et = page*8;
for i = st : et
file = fullfile(pwd, sprintf('%s', H(ind_dis_sort(i)).filename));
Img = imread(file);
imshow(Img, [], 'parent', eval(sprintf('handles.axes%d', (i-(page-1)*8)+1)));
axes(eval(sprintf('handles.axes%d', (i-(page-1)*8)+1)));
title(sprintf('%02d', i));
end
handles.ind_dis_sort = ind_dis_sort;
handles.page = page;
guidata(hObject, handles);
set(handles.textpage, 'String', sprintf('第%d页/共2页', page));
% --- 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)
start_path = fullfile(pwd, 'database');
dialog_title = '选择数据库';
folder_name = uigetdir(start_path,dialog_title);
if isequal(folder_name, 0)
return;
end
db_file = fullfile(folder_name, 'H.mat');
if ~exist(db_file, 'file')
msgbox('未找到特征数据库,请进行特征提取操作!', '提示信息');
return;
end
load(db_file);
handles.folder_name = folder_name;
handles.H = H;
guidata(hObject, handles);
msgbox('选择数据库成功!', '提示信息');
% --- Executes on button press in pushbutton3.
function pushbutton3_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)
if isequal(handles.Img, 0)
return;
end
vec_hu = get_hu_vec(handles.Img);
handles.vec_hu = vec_hu;
guidata(hObject, handles);
msgbox('提取Hu特征成功!', '提示信息');
% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if isequal(handles.Img, 0)
return;
end
vec_color = get_color_vec(handles.Img);
handles.vec_color = vec_color;
guidata(hObject, handles);
msgbox('提取颜色特征成功!', '提示信息');
% --- 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)
if isequal(handles.vec_hu, 0) || isequal(handles.vec_color, 0)
return;
end
ind_dis_sort = SearchResult(handles.vec_hu, handles.vec_color, handles.H);
H = handles.H;
page = 0;
page = page + 1;
st = (page-1)*8+1;
et = page*8;
for i = st : et
file = fullfile(pwd, sprintf('%s', H(ind_dis_sort(i)).filename));
Img = imread(file);
imshow(Img, [], 'parent', eval(sprintf('handles.axes%d', (i-(page-1)*8)+1)));
axes(eval(sprintf('handles.axes%d', (i-(page-1)*8)+1)));
title(sprintf('%02d', i));
end
handles.ind_dis_sort = ind_dis_sort;
handles.page = page;
guidata(hObject, handles);
set(handles.textpage, 'String', sprintf('第%d页/共2页', page));
% --- Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
choice = questdlg('确定要退出系统?', ...
'退出', ...
'确定','取消','取消');
switch choice
case '确定'
close;
case '取消'
return;
end
% --- 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
没有合适的资源?快使用搜索试试~ 我知道了~
基于Matlab实现Hu不变矩的图像检索仿真(程序+图片数据).rar
共68个文件
jpg:55个
m:7个
bmp:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 46 浏览量
2023-03-23
14:18:06
上传
评论
收藏 803KB RAR 举报
温馨提示
1、资源内容:基于Matlab实现Hu不变矩的图像检索仿真(程序+图片数据).rar 2、适用人群:计算机,电子信息工程、数学等专业的学习者,作为“参考资料”参考学习使用。 3、解压说明:本资源需要电脑端使用WinRAR、7zip等解压工具进行解压,没有解压工具的自行百度下载即可。 4、免责声明:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。由于作者大厂工作较忙,不提供答疑服务,如不存在资源缺失问题概不负责,谢谢理解。
资源推荐
资源详情
资源评论
收起资源包目录
基于Matlab实现Hu不变矩的图像检索仿真(程序+图片数据).rar (68个子文件)
基于Matlab实现Hu不变矩的图像检索仿真(程序+图片数据)
MainForm.fig 125KB
SearchResult.m 518B
database
767062.jpg 9KB
argentina_flag.jpg 3KB
060921Nirvana3.jpg 9KB
612~SpongeBob-SquarePants-Posters.jpg 10KB
400px-The_Art_of_Walt_Disney_book_cover.jpg 8KB
18462115.jpg 4KB
Athens_Piraeus_harbor_from_Hill_of_Philopappus2_tb_n011501.jpg 8KB
asterix_13.jpg 14KB
2008-subaru-wrc-concept-car1.jpg 5KB
764px-NileCrocodile.jpg 8KB
18866984_w434_h_q80.jpg 5KB
attractive_article.jpg 4KB
asterix.jpg 9KB
15712__nirvana_l.jpg 10KB
2039_03_10---Holliday-Wharf-on-the-Birmingham-Canal-Navigation-_web.jpg 7KB
berlin.jpg 5KB
basketball photo 2.jpg 9KB
5473~Poker-Posters.jpg 7KB
2_ferrari_fiorano.jpg 5KB
Basketball.jpeg 30KB
061116_brazil_model_vlrg_10a.widec.jpg 4KB
307wrc_front.jpg 7KB
asterixf.jpg 10KB
0502_tom_waits_b.jpg 4KB
0412beer2.jpg 4KB
american-flag.jpg 8KB
a_clockwork_orange_04.263124651_std.jpg 8KB
6a4bc3e5f1bd4f32932b8cc585e51510.jpg 9KB
10770MartinGuitarPortrait.jpg 4KB
berlin (7).jpg 9KB
beer1.jpg 6KB
0-london_master.jpg 7KB
apple_logo_rainbow_fruit.jpg 7KB
2008-subaru-impreza-wrx-hatch-front.jpg 7KB
american-crocodile-emerging-water.jpg 8KB
berlin (1).jpg 4KB
0-chicago_master.jpg 7KB
6a00d83451c47869e200e54f1dc8668833-800wi.jpg 8KB
Argentina-Flag.jpg 5KB
berlin (5).jpg 6KB
berlin (6).jpg 6KB
106-subaru-impreza.jpg 7KB
2005_10_03_pearl_jam.jpg 10KB
300.madonna.041808.jpg 7KB
_44898336_german_braz_416_getty.jpg 8KB
beer-glass.jpg 7KB
beer4.jpg 5KB
1moviebody-trainspotting.jpg 8KB
14321-Bob (1).jpg 10KB
300493d-alien-magic-matrix-screen-saver-is-reloaded-by-power-of-neo-and-trinity.jpg 13KB
berlin (2).jpg 3KB
14980546-14980549-slarge.jpg 7KB
as_roma.jpg 5KB
AsterixObelix.jpg 11KB
Athens+Aerial+1+-+Ampelokipi+-+small800x.jpg 12KB
H.mat 10KB
beer.jpg 5KB
get_hu_vec.m 1KB
MainForm.m 8KB
GetDatabaseVec.m 777B
images
im1.bmp 118KB
im3.bmp 117KB
im2.bmp 184KB
get_color_vec.m 1KB
OpenImageFile.m 510B
InitAxes.m 2KB
共 68 条
- 1
资源评论
Matlab仿真实验室
- 粉丝: 2w+
- 资源: 2180
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功