WEB开发网
开发学院软件开发VC 用VC++实现图像检索技术 阅读

用VC++实现图像检索技术

 2008-11-13 19:31:24 来源:WEB开发网   
核心提示: 相似性度量:(N为所用查询颜色对数目)qj、gj:颜色对j在查询图像Q和目标图像G中出现的次数查询时颜色对的匹配应该是不精确的,应该允许的误差为2%以内二. 具体程序实现a) 基于子块颜色直方图方法的程序实现:将图片分成4×4格局,用VC++实现图像检索技术(3),按从左到右、

相似性度量:

用VC++实现图像检索技术

(N为所用查询颜色对数目)

qj、gj:颜色对j在查询图像Q和目标图像G中出现的次数

查询时颜色对的匹配应该是不精确的,应该允许的误差为2%以内

二. 具体程序实现

a) 基于子块颜色直方图方法的程序实现:

将图片分成4×4格局,按从左到右、从上到下的顺序,分别计算各子块的颜色直方图,因此需要设定一个三维数组,前两维为子块的坐标,最后一维为颜色级,但现在采样得到的象素点的颜色值是RGB形式的,因此,需要将RGB形式转换为可以用比较合理的有限数表示的颜色级,而人眼对亮度是最为敏感的,因此可以将RGB转换为亮度值Y,公式为:

Y=R×0.299+G×0.587+B×0.114

这样就确定的一个256级的颜色级别,而统计颜色直方图的三维数组就可以定义为:int Color[4][4][256],当采样到某一颜色级时候,将相应的位置加一即可。

根据以上的子块间的相似公式:

用VC++实现图像检索技术,知道某一颜色级对应的数有可能是分母,当两个颜色级的数都为0的时候,显然是不能统计的,因此需要一个数组记录实际统计过的颜色级数,也需要一个数组记录4×4子块的两幅图像的各子块的相似度。

对于用户选定的块其实是代表查询对象的,因此应该加大权重,相对来说就是减小其他块的权重,然后可以将乘过对应权重的块的相似度相加,得到最终的相似度,然后将所有目标图像与用户输入的图像的相似度从大到小排序,选出值最大的几张作为最后的查询结果显示出来返回。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:VC 实现 图像

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接