基于OpenCV和Qt的图像检索教学软件设计与开发

2015-09-09 09:48王蓉李冲李彦璇
电脑知识与技术 2015年16期

王蓉 李冲 李彦璇

摘要: 图像检索技术在公安工作中发挥着重要作用,但其理论知识比较抽象,学生仅通过理论知识的学习很难深入理解该技术。为了辅助学生对图像检索技术的理解与掌握,基于OpenCV和Qt设计并开发了一个包含图像预处理、图像特征提取和图像检索3个模块的图像检索教学软件,涵盖了实现图像检索所需的每一步操作,并能够以图像或数值的形式可视化图像检索的中间处理结果。

关键词: 图像检索;直方图均衡化;颜色直方图;颜色矩;灰度共生矩阵

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2015)03-0198-04

The Design and Development of the Image Retrieval Technology Teaching Aids Software Based on OpenCV and Qt

WANG Rong, LI Chong, LI Yan-xuan

(School of Policing Information Engineering, Peoples Public Security University of China, Beijing 100038, China)

Abstract: The image retrieval technology plays an important role in the public security work, but its so abstract that its hard to understand deeply only through theoretical knowledge for the students. In order to help students understand and master the image retrieval techniques, an image retrieval technology teaching aids software was designed and developed in this paper. The software includes image preprocessing, image feature extraction and image retrieval modules, covering every step of the operation needed to realize the image retrieval. It also displays the intermediate processing results of image retrieval in the form of images or numbers.

Key words: image retrieval; histogram equalization; color histogram; color moment; Gray-level co-occurrence matrix

随着安全需求的不断扩增,视频监控系统的建设规模逐渐增大,案件视频数据迅速增长。视频资料由于其视觉直观性和信息丰富性,已成为公安工作的重要线索和证据来源。但是,仅仅通过人工查阅的方式对这些海量案件视频进行分析和处理,必然会耗费很大的人力和时间。图像检索技术是一种利用图像处理技术和计算机技术等实现对包含特定内容或具有特定特征图像的自动检索及输出的技术[1]。利用图像检索技术可以实现对包含特定目标视频图像的自动检索,然后在检索输出的视频图像中开展排查犯罪嫌疑人、搜寻案件证据等后续公安工作,对于缩短案件查阅时间、节省公安警力、提高办案效率具有重要意义。准确的检索结果是后续公安工作顺利开展的前提,高效的检索过程是提高公安工作效率的基本保障,因此,图像检索已成为视频侦查的关键技术之一。

早期的图像检索技术是基于文本实现的。随着多媒体技术的发展和智能化的需求,基于内容的图像检索技术从20世纪90年代开始兴起[2],主要集中于对图像底层特征的研究。其中,颜色特征能够直观体现图像内容,纹理特征具有较强的空间信息表达能力,而且这两种特征的提取较易实现,因此成为图像检索的两类常用特征,目前已有学者们提出了很多方法,如基于颜色直方图的方法[3]、基于颜色矩的方法[4]、基于灰度共生矩阵的方[5]等。基于内容的图像检索一般包括预处理、特征提取、相似性度量等关键环节。在图像检索技术的日常教学中,仅讲解相关的理论知识对于学生来说比较抽象,很难使学生深入理解图像检索技术的每一个步骤。因此,本文设计和开发了一个图像检索技术教学辅助软件,实现图像检索技术中间处理结果的可视化,便于学生理解和掌握该技术的关键环节和实现流程。本文设计的图像检索技术教学辅助软件包括图像预处理、图像特征提取和图像检索三个模块,其中,图像预处理模块设置了大量可调参数,可直观显示不同参数下的预处理结果,有助于学生理解不同参数的作用和不同预处理方法的原理及适用场合;图像特征提取模块以数字或图像的形式对特征的计算结果进行可视化展示,加深学生对抽象的图像特征及其提取过程的理解;图像检索模块包含实现图像检索所需的每一步操作,便于学生理解和掌握图像检索技术的实现过程。

1 基础知识

1.1 直方图均衡化

直方图均衡化是增强图像对比度的一种有效手段,对于整体亮度较低的图像,该方法通过改变像素的灰度分布来增多具有较高灰度值的像素,从而达到提高图像对比度的目的。

1.2 基础灰度变换

基础灰度变换包括全局线性变换、分段线性变换、幂次变换和对数变换等方法。

全局线性变换如式(1)所示,其中,[f(x,y)]和[g(x,y)]分别为输入和输出图像,[k]为灰度缩放比例,输出图像随着[k]的取值而发生变化。

[g(x,y)=f(x,y)?k] (1)

分段线性变换如式(2)所示,其中,[T1]、[T2]为分段阈值,[k1]、[k2]、[k3]为分段灰度缩放比例。[T1]、[T2]、[k1]、[k2]、[k3]均为可调参数,当其中任一个参数的取值改变时,输出图像即发生变化。

[g(x,y)=f(x,y)*k1, 0≤f(x,y)≤T1f(x,y)*k2, T1≤f(x,y)≤T2f(x,y)*k3, T2≤f(x,y)≤255] (2)

幂次变换如式(3)所示,其中,[c]为灰度缩放比例,[γ]为幂次。[c]和[γ]中任一个参数的取值改变时,输出图像即发生变化。

[g(x,y)=c?f(x,y)γ] (3)

对数变换如式(4)所示,[c]为灰度缩放比例,当[c]的值改变时,输出图像也发生变化。

[g(x,y)=c?log(1+f(x,y))] (4)

1.3 图像滤波方法

图像滤波主要用于去除噪声,基本思想是根据噪声与一般图像像素的时域或频率分布规律选择对应的滤波器,实现抑制噪声的目的。均值滤波计算简单;高斯滤波适用于滤除高斯噪声;中值滤波在去除椒盐噪声时具有很好的性能,这3种都是常用的图像滤波方法。

1.4 颜色特征

1.4.1 颜色直方图

颜色直方图统计图像中各种颜色值出现的频率,数学表达式如式(5)所示。

[H=h1,h2,…hc,…,hk] (5)

其中,

[hc=1m×ni=0m-1j=0n-1δfij-c,?c∈C] (6)

[m×n]为图像尺寸;[C]为图像的灰度取值集合;[k]为图像的灰度级数;[fij]表示图像在坐标[(i,j)]处的取值。

1.4.2 累积直方图

累积直方图表示的是不大于某一颜色值的像素的分布规律,即归一化颜色直方图的累积分布函数。累积直方图的计算公式如式(7)所示。

[H=H1,H2,…,Hc,…,Hk] (7)

其中,

[Hc=i=1chi] (8)

[hi]如式(6)所示。

1.4.3 颜色矩

颜色矩计算图像各通道的前三阶矩,一阶矩、二阶矩和三阶矩的计算公式分别如式(9)、式(10)、式(11)所示,

[μi=1nj=0n-1pij] (9)

[σi=1nj=0n-1pij-μi212] (10)

[si=1nj=0n-1pij-μi313] (11)

其中,[n]为图像的灰度级数;[i]表示图像颜色的通道;[j]为图像的灰度值;[pij]表示灰度图像的概率密度函数。

1.4.4 颜色熵

颜色熵计算图像各通道的熵值,计算公式如式(12)所示,

[Hc=-i=1nhcilog2hci] (12)

其中,[hc]表示图像的颜色直方图信息;[n]为图像的总颜色数,[i∈1,2,…,n]。

1.5 纹理特征

灰度共生矩阵表现了在特定方向和距离上的两个像素灰度值之间的统计规律,通常用灰度共生矩阵的一些统计量来间接表征图像特征[6],如能量、熵、对比度和同质性,计算公式分别如(13)、(14)、(15)、(16)所示。

[A=i=1kj=1k(G(i,j))2] (13)

[E=-i=1kj=1kG(i,j)logG(i,j)] (14)

[C=n=0k-1n2i-j=nG(i,j)] (15)

[I=i=1kj=1kG(i,j)1+(i-j)2] (16)

以上各式中,[k]和[G(i,j)]分别为灰度共生矩阵的阶数和元素。

2 系统设计

本软件的设计以基于内容的图像检索技术为理论支撑,旨在通过增强参数的交互性和中间结果的可视化程度辅助学生对相关课程的学习。本文设计了图像预处理、图像特征提取和图像检索三个模块。

2.1 图像预处理模块

图像预处理模块主要实现对比度增强和去噪。对比度增强通过直方图均衡化和基础灰度变换的方法实现,噪声去除通过滤波处理的方法实现。图像预处理模块包含直方图处理、基础灰度变换和滤波处理三部分,如图1所示。

图1 图像预处理模块设计

具有不同灰度分布规律的图像所适用的对比度增强方法不同,每种增强方法都有自己的调整参数;具有不同特征噪声的图像所适用的滤波方法也不同。因此,图像预处理模块的设计重点在于对多种处理方法和多个可调参数的设置,如图2所示,通过选择处理方法或调整参数获得不同的处理结果并直观显示,便于学生理解各参数对处理结果的影响及不同预处理方法的适用场合。

(a) 全局线性变换 (b) 分段线性变换

(c) 幂次变换 (d) 对数变换

(e) 均值滤波(f) 中值滤波 (g) 高斯滤波

图2 可选方法和可调参数

2.2 图像特征提取模块

本软件的图像特征提取模块设计了颜色直方图、累积直方图、颜色矩、颜色熵4种颜色特征和灰度共生矩阵1种纹理特征的计算和显示,如图3所示。该模块将抽象的图像特征转换为具体的图像或数字,有助于学生对图像特征的理解和图像特征提取过程的掌握。

图3 图像特征提取模块设计

在图像特征提取模块中,颜色直方图和累积直方图通过图像的形式显示,如图4(a)和图4(b)所示;三个通道的颜色矩和颜色熵通过数值的形式显示,如图4(c)和图4(d)所示。

(a) 颜色直方图

(b) 累积直方图

(c) 颜色矩 (d) 颜色熵

图4 图像颜色特征

2.3 图像检索模块

图5 图像检索模块设计

图像检索模块包含实现图像检索所需的每一步基本操作,如图5所示。首先点击“选择图像库图像”按钮创建基础图像库,然后点击“输入图像”按钮输入待检索图像;当选择一种特征时,完成对基础图像库图像和待检索图像的相应特征提取,最后点击“开始检索”按钮完成相似性度量,并输出基础图像库中与待检索图像相似度最高的前8幅图像。

3 系统实现

本文在VS2010环境下,利用Qt5.0设计系统界面,调用OpenCV2.4.8中的库函数实现系统三个模块的具体功能。

3.1 图像预处理模块

图像预处理模块由用户选择输入图像,可执行的操作包含直方图处理、基础灰度变换和滤波处理。为了简化操作,分别设置了可调参数的默认值。

3.1.1 直方图处理

直方图均衡化通过调用equalizeHist函数实现;当输入多通道图像时,首先调用split函数将图像分割为多个单通道图像,然后对每个单通道图像进行直方图均衡化处理,最后再调用merge函数将处理后的多个单通道图像合成为一幅多通道图像。

3.1.2 基础灰度变换

1)全局线性变换

全局线性变换根据公式(1)计算。通过Qt5.0设置灰度缩放比例[k]的默认参数:默认值为1.00,步长为0.05,可调范围为0.00~20.00。当[k]值大于1时,[g(x,y)]很可能超出255,此时需对[g(x,y)]取值进行调整。

2)分段线性变换

分段线性变换根据公式(2)计算。通过Qt5.0设置分段阈值[T1]、[T2]以及分段灰度缩放比例[k1]、[k2]、[k3]的默认参数,如表1所示。

3)幂次变换

幂次变换根据公式(3)计算。通过Qt5.0设置灰度缩放比例[c]的默认值为1.00,步长为0.05,可调范围为0.00~20.00;设置幂次[γ]的默认值为1.00,步长为0.01,可调范围为0.00~20.00。

4)对数变换

对数变换根据公式(4),通过Qt5.0将灰度缩放比例[c]的默认值设置为1.00,步长设置为0.10,可调范围设置为0.00~20.00。

4.1.3 滤波处理

均值滤波、中值滤波和高斯滤波分别通过调用blur函数、medianBlur函数和GaussianBlur函数实现。滤波处理的参数默认设置通过Qt5.0完成,如表2所示。

3.2 图像特征提取模块

图像特征提取模块提取并显示图像的纹理和颜色特征,其中,颜色特征均在HSV颜色空间[7]计算。

3.2.1 颜色特征提取

颜色直方图的提取通过调用calcHist函数实现;累积直方图在得到颜色直方图的基础上,利用accumulate函数计算;遍历整幅图像,根据式(9)、(10)、(11)计算颜色矩,根据式(12)计算颜色熵。

3.2.2 纹理特征提取

首先根据定义计算距离为1、角度为0度、45度、90度和135度的4个灰度共生矩阵;然后遍历每个灰度共生矩阵,根据式(13)、(14)、(15)、(16)计算各灰度共生矩阵的4个统计值,共得到16个特征值,作为图像的纹理特征。

3.3 图像检索模块

图像检索模块的具体实现步骤为:首先选择多幅图像组成图像库,并将图像存入SQL Server数据库;输入待检索的参考图像;选择检索依据的图像特征,可选图像特征如图6所示,提取图像特征;以图像特征为比较依据,输出相似性最高的前8幅图像。检索结果示例如图7所示。

图6 图像检索模块可选特征

(a) 纹理检索结果

(b) 颜色直方图检索结果

图7 检索结果示例

4 结论

本文结合教学需求,设计并开发了图像检索技术教学辅助软件。该软件设置多个预处理参数,涵盖多种图像特征提取方法,并包含图像检索关键技术,可以实现图像检索所需的每一步操作,并以图像或数值的形式直观显示图像检索技术的中间处理结果。将本文软件应用于课堂教学中,便于学生熟悉不同预处理方法的适用场合、理解抽象的图像特征、掌握图像检索关键技术。

参考文献:

[1] 张水利. 基于主颜色的彩色图像索引技术[J]. 电子测试, 2014(7):44-45,48.

[2] 张蓓. 图像检索技术的发展及现状分析[J]. 福建电脑, 2009,25(4):42-46.

[3] 黄山园. 基于颜色特征的图像检索技术研究[D]. 太原: 山西大学, 2013.

[4] 张少博,全书海,石英等. 基于颜色矩的图像检索算法研究[J]. 计算机工程, 2014(6):252-255.

[5] 贾婧,王忠芝. 基于共生矩阵的图像检索系统的研究[J]. 微计算机信息, 2010,26(10-2):202-203,201.

[6] 王晓东. 纹理图像分类系统及其关键技术研究[D]. 南京: 南京邮电大学,2013.

[7] Gonzalez R C, Woods R E.数字图像处理[M]. 阮秋琦, 阮宇智, 译. 2版. 北京: 电子工业出版社, 2007: 228-239.