案例 ©Fu Xianjun. All Rights Reserved.
一、读取图像
知识储备:图像直方图
直方图是数值数据分布的精确图形表示。
这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。
构建直方图: ①将值的范围分段 ②计算每个间隔中有多少值
知识实战:直方图阈值化
对于任何一张图像,它的直方图中如果存在较为明显的双峰,用直方图分割技术法可以达到很好的效果,否则,达到的效果会很不理想。
1、使用掩膜进行直方图绘制
直方图均衡
知识实战:直方图均衡化
二、直方图比较
创建 RGB 三通道直方图(直方图矩阵)
创建一个(16*16*16,1)的初始矩阵,作为直方图矩阵 16*16*16的意思为三通道每通道有16个bins 人为构建直方图矩阵的索引,该索引是通过每一个像素点的三通道值进行构建 该处形成的矩阵即为直方图矩阵
创建第一幅图的rgb三通道直方图(直方图矩阵)
直方图比较函数
知识实战:直方图比较
(1)相关性比较(Correlation)
(2)Chi-Square(卡方比较)
(3)Intersection(十字交叉性)
(4)Bhattacharyya distance(巴氏距离)
Step1: 先用cvtColor()把图像从RGB色彩空间转换到HSV色彩空间;
Step2: 计算图像的直方图,然后归一化到[0~1]之间,用到函数 calcHist() 和 normalize()
Step3:使用上述的四种方法之一进行比较,用到函数compareHist()。