MATLAB图像检索系统GUI

2023-11-21 18:50
文章标签 matlab 图像 gui 检索系统

本文主要是介绍MATLAB图像检索系统GUI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


一.应用背景
基于内容的图像检索(CBIR)是一个非常热门的研究领域。本文在对颜色特征、形状特征和纹理特征的研究基础上,将三种特征结合在一起,实现了可以自定义权重的综合特征的图像检索系统,并在平台上实现了这一系统。
图像特征的提取和相似性度量是CBIR的两个关键技术。对于颜色特征,本文采用HSV空间中的颜色矩表示颜色特征;对于形状特征,本文采用图像的
不变矩作为形状特征;对于纹理特征,为减少计算量,本文首先对图像进行预分割,提取分割后区域基于傅立叶描述子的纹理特征作为整个图像的纹理特征。在相似性度量方面,采用曼哈顿距离作为度量标准,得到各个特征的相似度向量。
本文在MATLAB上实现了这一图像检索系统,实现自定义权重以及综合特征下的图像检索,并在花朵图像的大数据库中随机抽取若干副图像进行检索实验,得到了较好的效果。
二、 基于内容的图像检索
2.1 基于内容的图像检索的概念
基于内容的图像检索根据图像、图像的内容语义以及上下文联系进行查找,以图像语义特征为线索从图像数据库中检出具有相似特性的其它图像。因为图像的规模一般要大于纯粹的文本信息,因此,基于内容的图像检索在检索的速度和效率上要求更高。 
2.2 CBIR的研究现状
在上世纪90年代,随着计算机和网络技术得到广泛应用之后,基于内容的图像检索技术取才得了较大的突破,人们也逐渐地将对基于内容的图像检索技术的研究成果应用到实际的工作和生活中,而对这种技术的需求的日益增长也驱动人们对基于内容的图像检索的技术向更高的层次进行研究。
从当前的CBIR的研究的热点和未来的发展趋势的来看,可大致将其研究分为三层[3]:
1. 最低层次的检索,在这个层次主要是利用全局特征(例如:颜色、纹理、形状等底层特征)去描述图像的内容,进行检索,这也是最直接的层面;
2.较高层次的检索,该层次主要是利用图像对象语义来描述图像的内容,进行检索,这种技术是底层特征的基础上加入了图像语义特征(例如:对象与对象之间的空间关系等);
3.最高层次的检索,该层次是利用图像概念级语义来描述图像的内容,进行检索,该技术是建立在图像对象语义特征提取的基础上加入了图像的概念级语义(例如:用户对图像的理解、情感等高层语义)。
尽管对CBIR技术的研究已经经过了很长时间,但目前较为常用的CBIR技术基本上都是基于底层特征的检索。现有的CBIR底层特征的检索系统主要包括基于颜色的图像检索系统、基于纹理的图像检索系统和基于形状的图像检索系统,下面就对上述三种检索系统进行一下简单的概述。
2.2.1 基于颜色特征的图像检索
颜色是描述图像内容最直接的视觉特性。颜色特征是一种定义比较明确和简单的特征,人的视觉对它的敏感度最大,人眼可以很直观地利用颜色特征区分出两幅图像的不同之处,因此颜色特征成为在CBIR研究中最早被用到的图像特征。
颜色特征的表示方法主要包括颜色索引、颜色矩等。颜色索引是一种以颜色直方图和直方图相交算法为基础的颜色特征表示方法,该方法在上述基础上,首先,将颜色空间划分为多个固定的子空间;其次,统计每个固定的子空间中像素的数目;最后,用直方图相交算法计算图像之间的相似度,按照相似度的大小对检索结果进行输出。
该方法除了具有颜色特征通用的优点外,还有个突出优点是计算简单。但也存在两个不足之处:一是它没有办法反映出颜色的空间分布信息,例如两幅图像中对象空间分布的位置不同时,这两幅图像可能具有几乎完全一致的颜色直方图。二是量化方法的不一样也可能对检索结果也可能产生很大的影响,比如原来两幅图像的颜色直方图很相似,但是由于量化过大,使得某些颜色消失,最终得到的两幅图像的颜色直方图大相径庭,这样造成了图像检索的准确度大大折扣。
由于颜色直方图在空间信息方面的缺失,后来又出现了颜色矩的概念来表示颜色特征,该方法先将图像按照一定的规则进行分块,然后对每一块提取颜色直方图。随后,出现了按物体对象的空间分割法,将图像按照图像中对象的分布进行分割,然后提取每个对象的颜色特征和对象之间的空间信息。上述两种方法都是在颜色整体特征的信息中加入了图像的空间分布信息,但是这两种方法存在的共同的缺陷是对于任意图像,如何对图像进行合适的分割。
除了上述颜色特征的表示方法外,还有颜色相关向量法和颜色聚类法,这两种方法也在颜色的特征中添加了空间信息,在实际的应用中不常见,还处于研究阶段。
2.2.2 基于纹理特征的图像检索
和颜色一样,纹理是也是图像中一种不可或缺的视觉特性。纹理没有统一的定义,一般可以用图像的某种局部性质来对纹理下定义,纹理描述了局部区域中像素之间的关系,同时也描述了图像中的空间分布信息。对纹理可以通过粗糙度、方向性、对比度和规则性四个方面来描述。应用较为广泛的基于纹理特征的图像检索技术包括采用共生矩阵,和基于数学模型如小波变换的纹理特征检索。
2.2.3 基于形状特征的图像检索
形状描述的是图像中各种物体的外在特征,所以基于形状的检索系统中最关键的技术是如何表示图像中物体的特有的外在特征和如何对提取出的形状特征进行特征匹配,目前常用的描述形状特征的方法主要包括:矩描述法、边界描述法和几何参数法。
以前表示形状特征的常用方法有链码、曲线、傅里叶描述子和B样条曲线等[6]。后来又出现了小波描述逼近法和超二次曲线法。
形状特征的提取需要人工对图像进行分割、提取目标,就目前的发展状况,还没有实现对形状特征的自动提取。而人眼对颜色和纹理特征比较敏感,提取方法也相对比较简单,所以在目前的检索系统中使用最多的底层特征是颜色和纹理特征。
三.GUI界面设计
在这里插入图片描述

GUI界面设计
在这里插入图片描述

运行图
AT

运行图
四、 参考文献
[1] 王向阳. 一种基于彩色边缘综合特征的图像检索算法[J]. 模式识别与人工智能, 2010
[2] 纪敏.MPEG-7颜色、纹理和形状描述子[J].计算机工程与应用,2004,40(26):44-47
[3] 李向阳.基于内容的图像检索技术与系统[J].计算机研究与发展2001,3
[4] Rafael C.Gonzalez 阮秋琦译. 数字图像处理(MATLAB版)[M]. 电子工业出版社,2005
[5] Dunlop M.D…Multimedia Information for Retrieval, Ph.D. Thesis. Computing Science Department, University of Glasgow, Report 199l
[6] Ellen M. Voorhees, Yuan-Wang Hou."Vector Expansion in a Large Collection”, First Text REtrieval Conference [TREC-1], 1993.
[7] Frisse M.E.Searching for information in a hypertext medical handbook. Communications of the ACM, 3 I[7], pp.880-886.
[8] R.Price, T.S Chua, and S.Al-Hawamdeh, Applying relevance feedback on a photo archival system. Journal of Information Science, 18:203-215, 1992
[9] 梁艳.基于内容的图像检索技术及应用[J].科技信息(科学教研),2008年,20期.
[10] 田靓.基于颜色内容的图像检索方法的比较[J].包装工程,2009,4.
[11] Petrou.M(英)著.赖剑辉译.数字图像处理疑难解析[M].机械工业出版社,2005.4
[12] 章毓晋.基于内容的视觉信息检索[M].图像图形科学丛书,2003

这篇关于MATLAB图像检索系统GUI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/404352

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采

Golang GUI入门——andlabs ui

官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信golang gui还会发展的更好,期待更优秀的gui库 由于andlabs

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正