直方图方向投影基本原理:
现有两张图像,均为灰度图像,其中一张图像尺寸大于等于另一张,其中尺寸较大的图像作为查询图像,另一张为模板图像,直方图反向投影变换的基本原理是:
(1)从尺寸较大的图像的左上角(0,0)开始,切割一块与较小图像尺寸一致的临时图像;
(2)计算临时图像的直方图;
(3)用临时图像的直方图和尺寸较小的图像的直方图对比,对比结果记为c;
(4)直方图对比结果c,就是结果图像(0,0)处的像素值;
(5)逐个像素移动进行图像切割,对比直方图,并记录直方图对比结果;
(6)重复(1)~(5)步直到输入图像的右下角。
需要注意的地方:
(1) 需要在代码实现中加入对图像尺寸大小的判断,如果模版图像尺寸小于查找图像,则程序正常执行,如果等于,这相当于进行直方图比较,如果大于,则应该提示程序无法正常执行
(2)此算法执行效率较低,在使用之前尤其需要注意图像的大小,直方图的维数,对比方式,在计算之前可以考虑对图像进行ColorReduce。
代码如下:

本文介绍了使用OpenCV进行灰度图像直方图反向投影来检测图像相似性的方法。通过计算尺寸较大的查询图像在不同位置与模板图像直方图的对比,得到结果图像。在实际应用中需要注意图像尺寸的判断和算法效率,可以考虑使用ColorReduce优化。代码示例展示了直方图计算和反向投影的过程,但结果显示相似性检测效果不佳,暗示需要利用颜色信息进行改进。
335

被折叠的 条评论
为什么被折叠?



