Local Binary Pattern

综述

局部二值模式:描述图像局部纹理的特征算子

  • 具有旋转不变性、灰度不变性
  • 通过对窗口中心的、领域点关系进行比较,重新编码形成新特征 以消除外界场景对图像影响,一定程度上解决了复杂场景下 (光照变换)特征描述问题
  • 分类
    • 经典LBP:3 * 3正方向窗口
    • 圆形LBP:任意圆形领域

Classical LBP

Sobel Operator

Laplace Operator

Canny Edge Detector

Circular LBP

缩略图Hash

  • 对图像进行特征提取得到0、1特征向量
  • 通过比较图片向量特征间汉明距离即可计算图片之间相似度

Average Hashing

aHash:平均哈希算法

  • 将原始图片转换为64维0、1向量,即提取出的特征

步骤

  • 缩放图片:将图像缩放到8 * 8=64像素
    • 保留结构、去掉细节
    • 去除大小、纵横比差异
  • 灰度化:把缩放后图转换为256阶灰度图
  • 计算平均值:计算灰度图像素点平均值
  • 二值化:遍历64个像素点,大于平均值者记为1、否则为0

Perceptual Hashing

pHash:感知哈希算法

  • 利用离散余弦变换降低频率,去除成分较少的高频特征

  • 特点

    • 相较于aHash更稳定

步骤

  • 缩放图片:将图片缩放至32 * 32
  • 灰度化:将缩放后图片转换为256阶灰度图
  • 计算DCT:把图片分离成频率集合
  • 缩小DCT:保留32 32左上角8 8代表图片最低频率
  • 计算平均值:计算缩小DCT均值
  • 二值化:遍历64个点,大于平均值者记为1、否则为0

Differential Hashing

dHash:差异哈希算法

  • 基于渐变实现

  • 特点

    • 相较于dHash非常快
    • 相较于aHash效果好

步骤

  • 缩放图片:将图片缩放至9 * 8
  • 灰度化:将缩放后图片转换为256阶灰度图
  • 计算差异值:对每行像素计算和左侧像素点差异,得到8 * 8
  • 二值化:遍历64个点,大于0记为1、否则为0