源代码、训练和测试样本下载地址:
http://www.5941ts.com/EasyAnalysis/demo/颜色直方图匹配.rar
源程序中用到EasyAnalysis图像分析库,库的源代码下载地址和使用说明见Blog中相关文章。
习作算法比较简单,统计RGB分量256级灰度分布顺序排列组成768个元素的数组。从相同尺寸的照片中截取相同颜色分布的目标作为训练样本,分别统计每个训练样本中目标的RGB分布,计算平均颜色直方图、样本图像平均宽度和高度(作为模板的宽度和高度)。对待识别图像,利用match(·)算子对图像中每一个与模板尺寸相同的区域计算匹配程度。其中Match(·)算子定义为:
Match(h(I),h(M))=Intersection(h(I),h(M))/模板中像素总数
Intersection(h(I),h(M))=h(I)和h(M)中每一个分量之差的绝对值求和
其中h(I)为待识别图像的颜色直方图,h(M)为模板图像颜色直方图。对测试样本中图像识别结果如下: