python图像纹理提取
时间: 2023-07-18 09:04:13 浏览: 141
图像纹理提取是一种将图像中的纹理特征提取出来的方法。Python中有很多库可以实现图像纹理提取,其中比较常用的有OpenCV和Scikit-image。
以下是使用Scikit-image库实现图像纹理提取的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from skimage import data, feature
# 读入图像
image = data.coins()
# 使用LBP进行纹理特征提取
lbp = feature.local_binary_pattern(image, P=10, R=5)
# 将LBP特征可视化
fig, (ax_img, ax_hist) = plt.subplots(nrows=1, ncols=2, figsize=(8, 3))
plt.gray()
ax_img.imshow(image)
ax_img.axis('off')
ax_img.set_title('Image')
n_bins = int(lbp.max() + 1)
ax_hist.hist(lbp.ravel(), bins=n_bins)
ax_hist.set_title('LBP Histogram')
ax_hist.set_xlabel('LBP Code')
ax_hist.set_ylabel('Frequency')
plt.show()
```
在这个示例中,我们首先使用`data.coins()`函数读入一张硬币的图像。然后,我们使用`feature.local_binary_pattern()`函数对图像进行LBP纹理特征提取,并将结果存储在`lbp`变量中。最后,我们将LBP特征可视化,包括显示原始图像和LBP直方图。
你可以根据自己的需求对代码进行修改,例如调整LBP算法的参数以获得更好的特征提取效果。
阅读全文