Texture Analyse 纹理提取
LBP
一种常用的纹理提取方法是LBP(Local Binary Pattern),它是一种描述图像特征像素点与各个像素点之间的灰度关系的局部特征的非参数算法.
灰度不变性基本LBP算法通过用一个8-bit数表示像素点与周围8个像素点之间灰度大小关系,能够将具有相同灰度变化趋势的区域用同样的颜色表示出来,从来显示出图像的纹理特征.
可以使用Python的skimage
库中的local_binary_pattern()
函数方便地实施LBP
这里我们使用比较原始的方法对每个像素进行检测
程序代码
1 | #! /usr/local/bin/python |
运行结果
原始图像
灰度图像
LBP图像
边缘提取
可以使用Python的skimage
库中的filters.sobel()
函数方便地进行边缘提取
Texture Synthesis 纹理合成
通常采用Deep Learning能够取得比较好的效果,这块我暂时没有时间深入地进行学习,所以暂时略过
Texture Transfer 纹理迁移
主要步骤:
- 选择目标区域:
- 颜色检测
- 灰度检测
- 纹理检测
- 边缘检测
- 确定纹理迁移方法:
- 直接替换
- 有条件替换
- 直接合成
- 有条件合成