用 Matlab GUI搭建一个简单的CBIR图像检索系统(二)
来源:互联网 发布:数据仓库与数据库区别 编辑:程序博客网 时间:2024/05/01 13:21
上一篇文章介绍了CBIR的流程和图像特征的提取以及图像特征库的建立。在这一篇文章中,将创建一个基于直方图的图像检索GUI。
如上图所示,就是利用matlab gui建立的一个图像检索的框架,其中用到的控件有按钮、单选按钮、静态文本框、坐标轴框以及面板。
ImageRead按钮的Callbacall函数为
% --- Executes on button press in ChooseImage.function ChooseImage_Callback(hObject, eventdata, handles)% hObject handle to ChooseImage (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[filename,PathName] = uigetfile({'*.BMP';'*.bmp';'*.tif';'*.jpg';'*.png'},'选择图像');str = [PathName filename];if PathName ~=0 OrginImage_O = imread(str); OrginImage_O = OrginImage_O(:,:,1:3); if get(handles.btn_total,'value') OrginImage=OrginImage_O; OrginImage = imresize(OrginImage,[256,256]); elseif get(handles.btn_part,'value') figure(2),imshow(OrginImage_O); OrginImage=imcrop(); %这里把要裁剪的图像框出来 OrginImage = imresize(OrginImage,[256,256]); close(2); end axes(handles.axes1); imshow(OrginImage); setappdata(handles.ChooseImage,'OrginImage',OrginImage);end
Image Capture为调用相机程序获取图片的方法,
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)open ('C:\Program Files (x86)\Canon\EOS Utility\EOS Utility.exe');
Retrieval按钮对应的事件:
(1)提取读取图像的对应特征
(2)计算检索图像的特征和特征库中的特征的相似度
(3)按照相似度的大小将检索结果显示在右边的坐标轴框中
% --- 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)IndexOfPoints=[];OrginImage=getappdata(handles.ChooseImage,'OrginImage');if get(handles.btn_ch,'value') load('HISTFeatures.mat'); [m,n]=size(HISTFeatures); OrginImage_Gray = rgb2gray(OrginImage); [Count1,x] = imhist(OrginImage_Gray) ; for index = 1:m Count2 = HISTFeatures{index,2}; PathData = HISTFeatures{index,1}; Sum1=sum(Count1);Sum2=sum(Count2); Sumup = sqrt(Count1.*Count2); SumDown = sqrt(Sum1*Sum2); Sumup = sum(Sumup); IndexOfBashi=1-sqrt(1-Sumup/SumDown); IndexOfPoint{index,1}=IndexOfBashi; IndexOfPoint{index,2}=PathData; end endIndexOfPoint=sortrows(IndexOfPoint);axes(handles.axes2); Serch = imread(IndexOfPoint{m,2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes3); Serch = imread(IndexOfPoint{(m-1),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes4); Serch = imread(IndexOfPoint{(m-2),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes5); Serch = imread(IndexOfPoint{(m-3),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes6); Serch = imread(IndexOfPoint{(m-4),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes7); Serch = imread(IndexOfPoint{(m-5),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes8); Serch = imread(IndexOfPoint{(m-6),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes9); Serch = imread(IndexOfPoint{(m-7),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes10); Serch = imread(IndexOfPoint{(m-8),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes11); Serch = imread(IndexOfPoint{(m-9),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes12); Serch = imread(IndexOfPoint{(m-10),2});Serch = Serch(:,:,1:3);imshow(Serch);axes(handles.axes13); Serch = imread(IndexOfPoint{(m-11),2});Serch = Serch(:,:,1:3);imshow(Serch);
最终效果图
阅读全文
1 0
- 用 Matlab GUI搭建一个简单的CBIR图像检索系统(二)
- 用 Matlab GUI搭建一个简单的CBIR图像检索系统(一)
- 电商图像检索系统(CBIR)系统
- (转载)使用OpenDIR搭建简单的图像检索系统
- 使用OpenDIR搭建简单的图像检索系统
- Experimental CBIR Systems 基于内容的图像检索系统
- Matlab实现基于内容的图像检索系统
- CBIR 基于内容的图像检索系统 纹理,形状,颜色和空间特征综合检索 VC++实现
- 用MATLAB的GUI绘图的一个简单例子
- 用MATLAB设计一个超简单的变声GUI界面
- 一个简单的matlab图形界面程序GUI
- 一个基于Matlab的简单Gui设计
- MATLAB 编写一个简单的GUI
- 一个简单检索系统的实现思想
- 【matlab】一个简单的matlab图形界面程序GUI
- 著名的图像检索系统
- 【CBIR】基于内容的图像检索技(CBIR)术相术介绍
- 建立简单的信息检索系统(上)
- Oracle中Merge into使用
- 2. JavaScript 设计模式(简单工厂,工厂方法,抽象工厂)
- 仿微信摇一摇最简单实现
- git status简介
- 连接orcl报错12154代码错误 tns识别不赖哦
- 用 Matlab GUI搭建一个简单的CBIR图像检索系统(二)
- 在BeagleBone Black 上安装ROS Hydro
- Mysql实现中文汉字转拼音的实现
- 微信小程序——连接webSocket
- iOS系列开发-版本控制工具Git的使用
- vue2+webpack+express 简单入门:从前端到后台
- 极验(geetest)滑动验证码研究
- jsp页面显示空白的原因
- 关于信息抽取的整理总结(上)