用python写计算图像LBP特征的代码
时间: 2024-05-15 19:14:16 浏览: 9
以下是使用Python计算图像LBP特征的代码:
```python
import cv2
import numpy as np
def get_lbp_feature(img):
# 将图像转换为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 初始化LBP特征图
lbp = np.zeros_like(gray)
# 计算LBP特征
for i in range(1, gray.shape[0]-1):
for j in range(1, gray.shape[1]-1):
center = gray[i, j]
code = 0
code |= (gray[i-1, j-1] > center) << 7
code |= (gray[i-1, j] > center) << 6
code |= (gray[i-1, j+1] > center) << 5
code |= (gray[i, j+1] > center) << 4
code |= (gray[i+1, j+1] > center) << 3
code |= (gray[i+1, j] > center) << 2
code |= (gray[i+1, j-1] > center) << 1
code |= (gray[i, j-1] > center) << 0
lbp[i-1, j-1] = code
# 统计直方图
hist, _ = np.histogram(lbp.ravel(), bins=np.arange(0, 257), range=(0, 256))
# 对直方图进行归一化处理
hist = hist.astype("float")
hist /= (hist.sum() + 1e-7)
# 返回LBP特征向量
return hist
if __name__ == '__main__':
# 读取图像
img = cv2.imread('test.jpg')
# 计算LBP特征
feature = get_lbp_feature(img)
# 输出LBP特征向量
print(feature)
```
注:该代码计算的是8邻域的LBP特征,其中`test.jpg`为待计算LBP特征的图像文件。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)