如何将得到的hog特征矩阵还原成图像python
时间: 2023-11-29 17:04:20 浏览: 72
python实现图像HOG特征提取器
要将HOG特征矩阵还原成图像,可以使用OpenCV库中的`cv2.HOGDescriptor()`函数。具体步骤如下:
1. 加载原始图像并将其缩放到与特征矩阵相同的大小,以便后续还原操作。
```python
import cv2
import numpy as np
img = cv2.imread("image.jpg")
img = cv2.resize(img, (64, 128))
```
2. 定义HOG描述符并计算特征矩阵。
```python
hog = cv2.HOGDescriptor()
hog_feats = hog.compute(img)
```
3. 将特征矩阵还原成图像。在这里,我们需要使用`cv2.resize()`函数将特征矩阵缩放回原始图像的大小,然后使用`cv2.imshow()`函数显示还原后的图像。
```python
# 将特征矩阵还原成图像
hog_img = np.zeros((img.shape[0], img.shape[1], 3), dtype=np.uint8)
hog_img = cv2.resize(hog_img, (img.shape[1], img.shape[0]))
cur_x = 0
cur_y = 0
for i in range(len(hog_feats)):
hog_img[cur_y:cur_y + 8, cur_x:cur_x + 8, :] = np.uint8(hog_feats[i] * 255.0)
cur_x += 8
if cur_x >= hog_img.shape[1]:
cur_x = 0
cur_y += 8
cv2.imshow("HOG Image", hog_img)
cv2.waitKey(0)
```
这样就可以将HOG特征矩阵还原成图像。
阅读全文