AttributeError: attribute 'winSize' of 'cv2.HOGDescriptor' objects is not writable
时间: 2023-10-31 19:50:22 浏览: 113
对不起,我之前提到的 `winSize` 属性是错误的。`cv2.HOGDescriptor` 对象没有名为 `winSize` 的可写。正确的属性名称是 `winSize`请注意区分大小写。
下面是一个修正后的示例:
```python
import cv2
import numpy as np
# 加载图像
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)
# 创建 HOG 对象
hog = cv2.HOGDescriptor()
# 设置参数
winSize = (64, 64) # 窗口大小
blockSize = (16, 16) # 块大小
blockStride = (8, 8) # 块步长
cellSize = (8, 8) # 细胞大小
numBins = 9 # 梯度方向的数量
# 设置 HOG 参数
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
hog.setWinSize(winSize)
hog.setBlockSize(blockSize)
hog.setBlockStride(blockStride)
hog.setCellSize(cellSize)
hog.setNumBins(numBins)
# 计算 HOG 特征
hog_features = hog.compute(image)
# 打印特征向量的维度
print("HOG 特征向量维度:", hog_features.shape)
# 可以将特征向量用于其他任务,如目标检测或分类等
# ...
```
再次对之前的错误给您带来的困扰表示抱歉。这个修正后的示例应该可以正常运行并计算图像的 HOG 特征。
阅读全文